コード例 #1
0
 def test_values_int_007(self):
     expect = [
         {'val': 5, 'beg': 3, 'end': 4},
         {'val': 60, 'beg': 5, 'end': 7},
         {'val': 700, 'beg': 8, 'end': 11},
     ]
     self.assertEqual(values('数列、5、60、700、'), expect)
コード例 #2
0
 def test_values_int_006(self):
     expect = [
         {'val': 1000, 'beg': 0, 'end': 6},
         {'val': 2000, 'beg': 7, 'end': 13},
         {'val': 3000, 'beg': 14, 'end': 20},
     ]
     self.assertEqual(values('1,000, 2,000, 3,000,'), expect)
コード例 #3
0
def kansujis(src, one=True):
    """ Convert from mixed Japanese number notations to Knasuji string values.
    The return value is a list of Kansuji value objects.
    If the input string has no number notation, `kansujis` returns a empty list.

    The result object has three keys: `val`, `beg`, and `end`:

    :val: the string value of the Kansuji notation.
    :beg: the start postion of the found number notation at the input string.
    :end: the end postion of the found number notation.

    :param src: a input string.
    :param one: a boolean flag for the display `ichi`. Default is True.
    :return: a list of the Kansuji value objects.
    """
    val = values(src)
    for v in val:
        v['val'] = Kansuji.value(v['val'], one)
    return val
コード例 #4
0
def kansuji(src, one=True):
    """ Convert from mixed number notations to Kansuji string.
    The return value is a converted str.
    If the input string has no number notation, `kansuji` returns the input str.

    :param src: a input string.
    :param one: a boolean flag for the display `ichi`. Default is True.
    :return: a converted str.
    """
    vals = values(src)
    if 0 == len(vals):
        return src

    start = 0
    s = ''
    for v in vals:
        s += src[start:v['beg']]
        s += Kansuji.value(v['val'], one)
        start = v['end']
    s += src[start:len(src)]
    return s
コード例 #5
0
 def test_values_int_000(self):
     expect = [
         {'val': 5, 'beg': 0, 'end': 1}
     ]
     self.assertEqual(values('5'), expect)
コード例 #6
0
 def test_empty_3(self):
     self.assertEqual(values('こんにちは'), [])
コード例 #7
0
 def test_values_kansuji_000(self):
     expect = [
         {'val': 250, 'beg': 0, 'end': 4},
     ]
     self.assertEqual(values('二百五十円'), expect)
コード例 #8
0
 def test_values_int_005(self):
     expect = [
         {'val': 400, 'beg': 0, 'end': 4}
     ]
     self.assertEqual(values('400, 円になります。'), expect)
コード例 #9
0
 def test_values_kansuji_004(self):
     expect = [
         {'val': 11110000, 'beg': 0, 'end': 8},
     ]
     self.assertEqual(values('一千一百一十一万円'), expect)
コード例 #10
0
 def test_values_kansuji_012(self):
     expect = [
         {'val': 12000000000052, 'beg': 3, 'end': 9},
     ]
     self.assertEqual(values('価格は十二兆五十二'), expect)
コード例 #11
0
 def test_values_int_003(self):
     expect = [
         {'val': 2, 'beg': 2, 'end': 3}
     ]
     self.assertEqual(values('値は2'), expect)
コード例 #12
0
 def test_values_kansuji_009(self):
     expect = [
         {'val': 91180000, 'beg': 0, 'end': 6},
     ]
     self.assertEqual(values('九千百十八万円'), expect)
コード例 #13
0
 def test_values_kansuji_010(self):
     expect = [
         {'val': 11101111, 'beg': 0, 'end': 8},
     ]
     self.assertEqual(values('千百十万千百十一円'), expect)
コード例 #14
0
 def test_values_kansuji_008(self):
     expect = [
         {'val': 12130000, 'beg': 0, 'end': 6},
     ]
     self.assertEqual(values('千二百十三万円'), expect)
コード例 #15
0
 def test_values_kansuji_007(self):
     expect = [
         {'val': 11100000, 'beg': 0, 'end': 4},
     ]
     self.assertEqual(values('千百十万円'), expect)
コード例 #16
0
 def test_values_kansuji_006(self):
     expect = [
         {'val': 11110000, 'beg': 3, 'end': 11},
     ]
     self.assertEqual(values('価格は一千一百一十一万円です。'), expect)
コード例 #17
0
 def test_values_int_001(self):
     expect = [
         {'val': 5, 'beg': 3, 'end': 4}
     ]
     self.assertEqual(values('これは5円です。'), expect)
コード例 #18
0
 def test_values_kansuji_013(self):
     expect = [
         {'val': 1001000000000052, 'beg': 0, 'end': 6},
     ]
     self.assertEqual(values('千一兆五十二円になります。'), expect)
コード例 #19
0
 def test_values_int_002(self):
     expect = [
         {'val': 1000, 'beg': 3, 'end': 8}
     ]
     self.assertEqual(values('これは1,000円です。'), expect)
コード例 #20
0
 def test_values_kansuji_001(self):
     expect = [
         {'val': 1007, 'beg': 0, 'end': 2},
     ]
     self.assertEqual(values('千七円'), expect)
コード例 #21
0
 def test_values_int_004(self):
     expect = [
         {'val': 3000, 'beg': 2, 'end': 7}
     ]
     self.assertEqual(values('値は3,000'), expect)
コード例 #22
0
 def test_values_decimal_001(self):
     expect = [
         {'val': 0.0007, 'beg': 0, 'end': 6},
     ]
     self.assertFloatArray(values('0.0007'), expect)
コード例 #23
0
 def test_values_kansuji_014(self):
     expect = [
         {'val': 604002005, 'beg': 0, 'end': 9},
     ]
     self.assertEqual(values('6億400万2千5になります。'), expect)
コード例 #24
0
 def test_values_kansuji_003(self):
     expect = [
         {'val': 10000000, 'beg': 0, 'end': 3},
     ]
     self.assertEqual(values('一千万円'), expect)
コード例 #25
0
 def test_values_decimal_000(self):
     expect = [
         {'val': 0.6, 'beg': 0, 'end': 3},
     ]
     self.assertFloatArray(values('0.6'), expect)
コード例 #26
0
 def test_values_kansuji_015(self):
     expect = [
         {'val': 11110, 'beg': 0, 'end': 4},
     ]
     self.assertEqual(values('万千百十'),  expect)
コード例 #27
0
 def test_values_decimal_002(self):
     expect = [
         {'val': 0.987654321, 'beg': 0, 'end': 11},
     ]
     self.assertFloatArray(values('0.987654321'), expect)
コード例 #28
0
 def test_values_kansuji_016(self):
     expect = [
         {'val': 1, 'beg': 0, 'end': 1},
         {'val': 2000000305017, 'beg': 6, 'end': 15},
     ]
     self.assertEqual(values('1つの価格が二兆30万五千十7円になります。'), expect)
コード例 #29
0
 def test_empty_2(self):
     self.assertEqual(values(''), [])
コード例 #30
0
 def test_values_decimal_010(self):
     expect = [
         {'val': 0.00123, 'beg': 2, 'end': 8},
     ]
     self.assertFloatArray(values('多分.00123です。'), expect)