【发布时间】:2019-09-23 06:16:15
【问题描述】:
我有一个当前重量的浮点值,例如“79.3”公斤。 我将浮点值拆分为千克和克值。
在将浮点值解析为 int 时,我得到了正确的公斤数。 然后我得到浮点值的小数部分。这个小数部分看起来像“0,3”,表示 0.3 公斤或 300 克。 在我的程序中,我只能有 0,100,200,..,900 克,代表 0-9。 我的目标是删除“0”,所以我只得到“3”的值。
这是我现在的代码,我也尝试了一些十进制格式,但我不知道该怎么做:
public void setCurrentWeightInTheNumberPickers() {
float currentWeightAsFloat = weight_dbHandler.getCurrentWeightFloat();
int currentWeightKilograms = (int) currentWeightAsFloat;
double fractionOfGrams = currentWeightAsFloat % 1;
DecimalFormat df1 = new DecimalFormat("0.##");
String rounded = df1.format(fractionOfGrams);
rounded.replaceFirst("^0+(?!$)", "");
} //public void setCurrentWeightInTheNumberPickers()
【问题讨论】:
-
只需将 ftaction 乘以 10f...
-
如果你的小数部分像
0.0030我猜是30对吗? -
"这个小数部分看起来像“0,3”,意思是 0.3 公斤或 300 克。我的目标是删除“0”,所以我只得到“3”的值。 ”令人困惑。那个 3 代表什么?如果你有 0.03,你期望什么值?还有 3 个?
标签: java string replace split double