我想将任意一个双精度舍入到一个带有一个小数点和一个小数位的格式的双精度,所以29575.347434将是2.3。
尝试用decimalFormat做这个,但是当我尝试#。#我只得到一个格式为29575.3的字符串,并且我不知道如何在保持我的值为双倍的同时切断所有小数点。
答案 0 :(得分:2)
您可以将号码设为String
,取第{1}位后的第一位数字和数字。对于非负数,
'.'
如果数字可能为负数,则必须更正可能减号的代码。
答案 1 :(得分:0)
您可以使用模运算符%。
来完成此操作看起来您的十进制格式与#。#一起使用。这将给你整数和一位小数。然后你可以做你的号码29575.3%10并获得5.3。
尝试此代码并查看:
System.out.println(29575.3d % 10);
答案 2 :(得分:0)
尝试以下方法:
Number(parseFloat(29575.347434).toFixed(1))
您还可以传递字符串,因为parseFloat()
会将其转换为数字,然后将其转换为希望十进制(输出再次字符串),然后按函数Number()
转换回十进制。
适合我。