Java中的浮动货币
如果输入数字(浮动),例如12500,则该数字将转换为货币格式12500.00。格式为“####,###,###,##.#”。如何使用java和而不使用任何apache utils或类似库来实现这一点。每3位数字后将重复一个逗号,小数位数将四舍五入,并在小数点后显示为2位数字。如果为.5,则应为.50和Java中的浮动货币,java,regex,string,number-formatting,Java,Regex,String,Number Formatting,如果输入数字(浮动),例如12500,则该数字将转换为货币格式12500.00。格式为“####,###,###,##.#”。如何使用java和而不使用任何apache utils或类似库来实现这一点。每3位数字后将重复一个逗号,小数位数将四舍五入,并在小数点后显示为2位数字。如果为.5,则应为.50和 如果是.569,应该是.57。有没有通过正则表达式或其他方法解决这个问题的方法?我通过在谷歌上进行少量搜索找到了以下代码。。。可能对你有帮助 public static void m
如果是.569,应该是.57。有没有通过正则表达式或其他方法解决这个问题的方法?我通过在谷歌上进行少量搜索找到了以下代码。。。可能对你有帮助
public static void main(String args[])
{
float amount = 2192.05f;
NumberFormat formatter = new DecimalFormat("###,###,###.##");
System.out.println("The Decimal Value is:"+formatter.format(amount));
}
查看此链接,了解它非常有帮助。在这个链接中,只有他们让路给必要的格式
前几行代码生成的输出如下所示:
French (France), Euro: 9 876 543,21 €
German (Germany), Euro: 9.876.543,21 €
English (United States), US Dollar: $9,876,543.21
在这种情况下,您可以选择语言环境,甚至不知道特定国家/地区使用的格式,也可以尽情享受。我通过在谷歌上进行少量搜索找到了以下代码。。。可能对你有帮助 查看此链接,了解它非常有帮助。在这个链接中,只有他们让路给必要的格式 前几行代码生成的输出如下所示:
French (France), Euro: 9 876 543,21 €
German (Germany), Euro: 9.876.543,21 €
English (United States), US Dollar: $9,876,543.21
在这种情况下,您可以选择地区,甚至不知道特定国家/地区使用的格式也可以享受。浮动永远不能代表货币。如果您的软件接受浮点数作为参数,并打算将其转换为货币,则它已经是一个bug。
float
不应用于货币(或大多数事物),因为它的精度非常低。我建议您使用double
、long
cents或BigDecimal
浮动不能代表货币。如果您的软件接受浮点数作为参数,并打算将其转换为货币,则它已经是一个bug。float
不应用于货币(或大多数事物),因为它的精度非常低。我建议您使用double
、long
cents或BigDecimal
此解决方案如何在每3位数字后加逗号?你把问题读对了吗?此外,您的代码将无法编译。@bhaviksah。。你为什么不必要地使用打字呢。只需在RHS上使用float
值。此解决方案如何在每3位数字后给出逗号?你把问题读对了吗?此外,您的代码将无法编译。@bhaviksah。。你为什么不必要地使用打字呢。只需在RHS上使用float
value即可。他要求的格式是在2位数字后加逗号,然后从左侧开始为所有剩余数字加3。他提供了货币格式,但使用此代码他甚至不需要关心货币格式。他不能关心/研究货币格式,因为sun团队已经在努力寻找这些格式。:)我会使用double
而不是double
他要求的格式是2位数字后第一个逗号,然后从左侧开始的所有剩余数字都是3。他提供了货币格式,但使用此代码他甚至不需要关心货币格式。他不能关心/研究货币格式,因为sun团队已经在努力寻找这些格式。:)我会使用double
而不是double