Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用NumberFormat将美分转换为欧元_Java_Android_Jakarta Ee - Fatal编程技术网

Java 使用NumberFormat将美分转换为欧元

Java 使用NumberFormat将美分转换为欧元,java,android,jakarta-ee,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是一个整数运算,所以deciaml部分被剥离。例如 inti=1int resu

我有一个
long
类型值,表示货币中的美分。我试着把它换成欧元。因此,我做了以下工作:

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

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

因为val/100是一个整数运算,所以deciaml部分被剥离。例如
inti=1
int result=i/2将为您提供
0

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

因为val/100是一个整数运算,所以deciaml部分被剥离。例如
inti=1
int result=i/2将为您提供
0

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

要强制进行浮点运算,可以使用双文本
100.0
或浮点文本
100.0f

System.out.println(nf.format(val/100.0));

要强制进行浮点运算,可以使用双文本
100.0
或浮点文本
100.0f

System.out.println(nf.format(val/100.0));