java - 使用 NumberFormat 将美分转换为欧元

标签 java android jakarta-ee

我有一个 long 类型值,代表货币的美分。我尝试将其转换为欧元。因此,我执行了以下操作:

long val = 348;
NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.FRANCE);
System.out.println(nf.format(val/100));

我以为上面的代码会打印出3,48 €,但我得到了3,00 €。为什么?

最佳答案

因为 val/100 是整数运算,所以小数部分被去掉。瞬间 int i = 1; int result = i/2; 将为您提供 0

Change to System.out.println(nf.format(((float)val/100)));

关于java - 使用 NumberFormat 将美分转换为欧元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17422734/

相关文章:

jakarta-ee - LOG4J - EAR 中不同 war 的独立日志文件

java - 如何在 Spring Hibernate 运行时设置数据库名称

android - 动态地向 Android 资源(例如 string.xml)添加值?

javascript - 电子邮件邮件字段验证

java - 初始化 Metro Web 服务客户端时出错

Android如何从相机捕获两个连续的帧

java - 从可能有重复条目的数据库列中使用 AutoCompleteTextView

java - 在 IntelliJ IDEA 中运行单类 Java 控制台应用程序?

java - 为什么我的 WAR 文件在 Tomcat 中会自动爆炸?

android - 在固定间隔后在 android 中从后台执行 REST 调用