在Oracle数据库中,我将数字0.5存储在格式编号为(17,2)的列中。 我使用Java程序(使用mybatis)读取它,并将其存储为实体对象的字符串字段。这个字符串字段的值是“.5”,而不是我期望的“0.5”。
我知道“.5”是浮点数的标准表示,可以在大多数编程语言中直接转换为数字0.5。但是当它显示在网页上时,它不是我想要的。当然,我可以随时转换为“0.5”,只需检查第一个字母是否为“。”,我认为这是微不足道的,容易忘记。
我还可以使用Oracle函数指定将数字转换为字符串的格式。但是TO_CHAR()函数将格式模式作为参数使输出字符串为固定长度,或者不使用格式参数将0.5作为“.5”打印。这两种行为都不是我想要的。我只想要一种“按原样”转换数字的方式。但是oracle的“as as”方式并不是我想要的。
所以我想问:
处理此问题的更好方法是什么?
答案 0 :(得分:0)
您不应该将数字的值与其表示混淆。
0.5
,.5
,1/2,
all 完全相同的值。2-1
, 334/668
, 0.12
and 0000000.50000000000
如果您希望以某种方式格式化该值,则需要在将值转换为字符串时指定。
答案 1 :(得分:0)
我不熟悉mybatis
但是,
你不能只是将其作为double
阅读,然后将其格式化,例如与十进制格式?
DecimalFormat df = new DecimalFormat("0.00");
df.format(number);