mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix code
This commit is contained in:
@@ -283,21 +283,21 @@ public class NumberChineseFormatterTest {
|
||||
|
||||
@Test
|
||||
public void chineseToNumberTest(){
|
||||
Assertions.assertEquals(0, ChineseNumberFormatter.parseFromChinese("零"));
|
||||
Assertions.assertEquals(102, ChineseNumberFormatter.parseFromChinese("一百零二"));
|
||||
Assertions.assertEquals(112, ChineseNumberFormatter.parseFromChinese("一百一十二"));
|
||||
Assertions.assertEquals(1012, ChineseNumberFormatter.parseFromChinese("一千零一十二"));
|
||||
Assertions.assertEquals(1000000, ChineseNumberFormatter.parseFromChinese("一百万"));
|
||||
Assertions.assertEquals(2000100112, ChineseNumberFormatter.parseFromChinese("二十亿零一十万零一百一十二"));
|
||||
Assertions.assertEquals(0, ChineseNumberParser.parseFromChinese("零"));
|
||||
Assertions.assertEquals(102, ChineseNumberParser.parseFromChinese("一百零二"));
|
||||
Assertions.assertEquals(112, ChineseNumberParser.parseFromChinese("一百一十二"));
|
||||
Assertions.assertEquals(1012, ChineseNumberParser.parseFromChinese("一千零一十二"));
|
||||
Assertions.assertEquals(1000000, ChineseNumberParser.parseFromChinese("一百万"));
|
||||
Assertions.assertEquals(2000100112, ChineseNumberParser.parseFromChinese("二十亿零一十万零一百一十二"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void chineseToNumberTest2(){
|
||||
Assertions.assertEquals(120, ChineseNumberFormatter.parseFromChinese("一百二"));
|
||||
Assertions.assertEquals(1200, ChineseNumberFormatter.parseFromChinese("一千二"));
|
||||
Assertions.assertEquals(22000, ChineseNumberFormatter.parseFromChinese("两万二"));
|
||||
Assertions.assertEquals(22003, ChineseNumberFormatter.parseFromChinese("两万二零三"));
|
||||
Assertions.assertEquals(22010, ChineseNumberFormatter.parseFromChinese("两万二零一十"));
|
||||
Assertions.assertEquals(120, ChineseNumberParser.parseFromChinese("一百二"));
|
||||
Assertions.assertEquals(1200, ChineseNumberParser.parseFromChinese("一千二"));
|
||||
Assertions.assertEquals(22000, ChineseNumberParser.parseFromChinese("两万二"));
|
||||
Assertions.assertEquals(22003, ChineseNumberParser.parseFromChinese("两万二零三"));
|
||||
Assertions.assertEquals(22010, ChineseNumberParser.parseFromChinese("两万二零一十"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -305,16 +305,16 @@ public class NumberChineseFormatterTest {
|
||||
// issue#1726,对于单位开头的数组,默认赋予1
|
||||
// 十二 -> 一十二
|
||||
// 百二 -> 一百二
|
||||
Assertions.assertEquals(12, ChineseNumberFormatter.parseFromChinese("十二"));
|
||||
Assertions.assertEquals(120, ChineseNumberFormatter.parseFromChinese("百二"));
|
||||
Assertions.assertEquals(1300, ChineseNumberFormatter.parseFromChinese("千三"));
|
||||
Assertions.assertEquals(12, ChineseNumberParser.parseFromChinese("十二"));
|
||||
Assertions.assertEquals(120, ChineseNumberParser.parseFromChinese("百二"));
|
||||
Assertions.assertEquals(1300, ChineseNumberParser.parseFromChinese("千三"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void badNumberTest(){
|
||||
Assertions.assertThrows(IllegalArgumentException.class, ()->{
|
||||
// 连续数字检查
|
||||
ChineseNumberFormatter.parseFromChinese("一百一二三");
|
||||
ChineseNumberParser.parseFromChinese("一百一二三");
|
||||
});
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ public class NumberChineseFormatterTest {
|
||||
public void badNumberTest2(){
|
||||
Assertions.assertThrows(IllegalArgumentException.class, ()->{
|
||||
// 非法字符
|
||||
ChineseNumberFormatter.parseFromChinese("一百你三");
|
||||
ChineseNumberParser.parseFromChinese("一百你三");
|
||||
});
|
||||
}
|
||||
|
||||
@@ -373,13 +373,13 @@ public class NumberChineseFormatterTest {
|
||||
* s=叁角贰分, n=0.32
|
||||
* s=陆万柒仟伍佰伍拾陆元叁角贰分, n=67556.32
|
||||
*/
|
||||
Assertions.assertEquals(67556, ChineseNumberFormatter.parseFromChineseMoney("陆万柒仟伍佰伍拾陆圆").longValue());
|
||||
Assertions.assertEquals(67556, ChineseNumberFormatter.parseFromChineseMoney("陆万柒仟伍佰伍拾陆元").longValue());
|
||||
Assertions.assertEquals(0.3D, ChineseNumberFormatter.parseFromChineseMoney("叁角").doubleValue(), 0);
|
||||
Assertions.assertEquals(0.02, ChineseNumberFormatter.parseFromChineseMoney("贰分").doubleValue(), 0);
|
||||
Assertions.assertEquals(67556.3, ChineseNumberFormatter.parseFromChineseMoney("陆万柒仟伍佰伍拾陆元叁角").doubleValue(), 0);
|
||||
Assertions.assertEquals(67556.02, ChineseNumberFormatter.parseFromChineseMoney("陆万柒仟伍佰伍拾陆元贰分").doubleValue(), 0);
|
||||
Assertions.assertEquals(0.32, ChineseNumberFormatter.parseFromChineseMoney("叁角贰分").doubleValue(), 0);
|
||||
Assertions.assertEquals(67556.32, ChineseNumberFormatter.parseFromChineseMoney("陆万柒仟伍佰伍拾陆元叁角贰分").doubleValue(), 0);
|
||||
Assertions.assertEquals(67556, ChineseNumberParser.parseFromChineseMoney("陆万柒仟伍佰伍拾陆圆").longValue());
|
||||
Assertions.assertEquals(67556, ChineseNumberParser.parseFromChineseMoney("陆万柒仟伍佰伍拾陆元").longValue());
|
||||
Assertions.assertEquals(0.3D, ChineseNumberParser.parseFromChineseMoney("叁角").doubleValue(), 0);
|
||||
Assertions.assertEquals(0.02, ChineseNumberParser.parseFromChineseMoney("贰分").doubleValue(), 0);
|
||||
Assertions.assertEquals(67556.3, ChineseNumberParser.parseFromChineseMoney("陆万柒仟伍佰伍拾陆元叁角").doubleValue(), 0);
|
||||
Assertions.assertEquals(67556.02, ChineseNumberParser.parseFromChineseMoney("陆万柒仟伍佰伍拾陆元贰分").doubleValue(), 0);
|
||||
Assertions.assertEquals(0.32, ChineseNumberParser.parseFromChineseMoney("叁角贰分").doubleValue(), 0);
|
||||
Assertions.assertEquals(67556.32, ChineseNumberParser.parseFromChineseMoney("陆万柒仟伍佰伍拾陆元叁角贰分").doubleValue(), 0);
|
||||
}
|
||||
}
|
||||
|
@@ -12,7 +12,6 @@
|
||||
|
||||
package org.dromara.hutool.core.math;
|
||||
|
||||
import org.dromara.hutool.core.math.NumberWordFormatter;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@@ -20,37 +19,37 @@ public class NumberWordFormatTest {
|
||||
|
||||
@Test
|
||||
public void formatTest() {
|
||||
final String format = NumberWordFormatter.format(100.23);
|
||||
final String format = EnglishNumberFormatter.format(100.23);
|
||||
Assertions.assertEquals("ONE HUNDRED AND CENTS TWENTY THREE ONLY", format);
|
||||
|
||||
final String format2 = NumberWordFormatter.format("2100.00");
|
||||
final String format2 = EnglishNumberFormatter.format("2100.00");
|
||||
Assertions.assertEquals("TWO THOUSAND ONE HUNDRED AND CENTS ONLY", format2);
|
||||
|
||||
final String format3 = NumberWordFormatter.format("1234567890123.12");
|
||||
final String format3 = EnglishNumberFormatter.format("1234567890123.12");
|
||||
Assertions.assertEquals("ONE TRILLION TWO HUNDRED AND THIRTY FOUR BILLION FIVE HUNDRED AND SIXTY SEVEN MILLION EIGHT HUNDRED AND NINETY THOUSAND ONE HUNDRED AND TWENTY THREE AND CENTS TWELVE ONLY", format3);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void formatSimpleTest() {
|
||||
final String format1 = NumberWordFormatter.formatSimple(1200, false);
|
||||
final String format1 = EnglishNumberFormatter.formatSimple(1200, false);
|
||||
Assertions.assertEquals("1.2k", format1);
|
||||
|
||||
final String format2 = NumberWordFormatter.formatSimple(4384324, false);
|
||||
final String format2 = EnglishNumberFormatter.formatSimple(4384324, false);
|
||||
Assertions.assertEquals("4.38m", format2);
|
||||
|
||||
final String format3 = NumberWordFormatter.formatSimple(4384324, true);
|
||||
final String format3 = EnglishNumberFormatter.formatSimple(4384324, true);
|
||||
Assertions.assertEquals("438.43w", format3);
|
||||
|
||||
final String format4 = NumberWordFormatter.formatSimple(4384324);
|
||||
final String format4 = EnglishNumberFormatter.formatSimple(4384324);
|
||||
Assertions.assertEquals("438.43w", format4);
|
||||
|
||||
final String format5 = NumberWordFormatter.formatSimple(438);
|
||||
final String format5 = EnglishNumberFormatter.formatSimple(438);
|
||||
Assertions.assertEquals("438", format5);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void formatSimpleTest2(){
|
||||
final String s = NumberWordFormatter.formatSimple(1000);
|
||||
final String s = EnglishNumberFormatter.formatSimple(1000);
|
||||
Assertions.assertEquals("1k", s);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user