小数点坑

2023-03-29

小技巧

高尚的生活是由知识导引的生活,……没有知识的爱与没有爱的知识,都不可能产生高尚的生活。——罗素

今天看到一个有趣的issuehttps://gitee.com/dromara/hutool/issues/I6REMW

问题描述(包括截图)

1
System.out.println(NumberUtil.add("1.00","0.00"));

在本地计算是正确的1,但是在客户德语电脑上计算出来 居然是100
输入图片说明

原来是德国采用“,”作为小数点

https://en.wikipedia.org/wiki/Decimal_separator

在德国,小数点符号是 , 而不是 .。这意味着在德国,小数点符号用于表示小数部分,例如 3,14 表示 3 和 0.14 的和。在德国,点号 . 通常用作千位分隔符,例如 1.000 表示 1000。这与在美国和其他一些国家使用小数点符号和逗号的方式不同。因此,在进行数字计算时,需要根据不同的语言环境设置适当的小数点符号和千位分隔符。在 Java 中,可以使用 Locale 类来设置小数点符号和千位分隔符的语言环境。

输入图片说明