我正在编写一个程序,使用缝和SQL数据库,存储有关员工的信息。我被告知将数据存储在数据库中。当用户输入薪水时,它被存储为一个字符串,当我使用员工对象的setter时,它将它变成一个int。我的问题是,我无法弄清楚如何将它重新存回字符串中,并保留小数点。有任何想法吗?使用整数货币
Q
使用整数货币
0
A
回答
0
如果存储为美分的数字,它格式化为float
然后再乘以100
+1
这将导致舍入错误。 –
+0
我会使用双精度(15位数的精度)而不是浮点数(精度为6位数) –
2
最简单的事情把它即会绝对是一般工作,可能是
BigDecimal.valueOf(cents).scaleByPowerOfTen(-2).toString();
(这有一个优势,推广long
或BigInteger
数字美分,捏)
另一种解决方案,肯定会工作,虽然它会稍微复杂一些,会沿着这条线
return Integer.toString(cents/100)
+ "."
+ new DecimalFormat("00").format(cents % 100);
0
你可以使用类似的东西。
int priceInCents = ...
String price = String.format("%.2f", priceInCents/100.0);
0
会是这样的,你在找什么?
class Currency {
int cents;
public Currency(int cents) {
this.cents = cents;
}
public Currency(String cents) {
this(Integer.parseInt(cents));
}
public int getCents(){
return cents;
}
public double getValue(){
return cents/100.0d;
}
private static final DecimalFormat o = new DecimalFormat("0");
private static final DecimalFormat oo = new DecimalFormat("00");
@Override
public String toString() {
return o.format(cents/100) + "." + oo.format(cents % 100);
}
}
+0
谢谢各位的回复。我已经明白了。 – user1423793
相关问题
- 1. Yii2 MaskedInput/MaskedMoney整数仅货币存储
- 2. 将整数转换为货币
- 3. 使用angulars货币过滤器的整数美分
- 4. 使用StandardTokenizerFactory和货币
- 5. 使用jQuery旋转货币
- 6. 货币兑换使用PayPal
- 7. NSNumberFormatter货币负数
- 8. 数/货币格式
- 9. InStr函数货币
- 10. 使用动态货币符号进行货币格式化
- 11. 如何代表货币或货币使用C
- 12. 使用TBBC货币/货币捆绑的Symfony /引导形式
- 13. Java的货币格式化:强制使用的货币符号
- 14. Android数据库使用货币/余额
- 15. 根据货币代码将货币格式设置为货币
- 16. 货币列表与货币符号和货币名称母语
- 17. 货币
- 18. 我应该使用哪种XML数据类型作为货币/货币?
- 19. 使用缩写缩短货币数量同时保持货币格式
- 20. 货币,小数或数字为货币的列
- 21. 印度货币的PHP货币格式?
- 22. Automapper地图(十进制,货币)货币
- 23. 未格式化货币格式货币
- 24. C#格式十进制货币/货币
- 25. 货币用逗号
- 26. 如何对货币值进行凑整
- 27. xpages货币不完整输入失败
- 28. JSF f:convertNumber向上取整货币
- 29. 转换成ISO 4217的数字货币代码货币名称
- 30. JavaScript将货币分成数字值和货币符号/名称
'int'应该是“美分数”,不是? –
是的。 int将是浮点数* 100 – user1423793