Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.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 使用十进制格式格式化美元值_Java - Fatal编程技术网

Java 使用十进制格式格式化美元值

Java 使用十进制格式格式化美元值,java,Java,我需要显示具有以下要求的美元值 如果该值小于一美元,请在前导位置加零。e、 g 0.55 如果该值没有美分,则放置两个尾随的零。e、 g.100.00 这是棘手的部分。该值可能小于一美分,在这种情况下,应按原样打印。e、 g 0.005 是否可以使用DecimalFormat实现此功能?如果不是最后一个要求,则可以使用“0.00”模式,但我不确定如何执行最后一个要求。您可以尝试使用If语句并重新声明您的十进制格式: if(num < 0.01 && num != 0)

我需要显示具有以下要求的美元值

  • 如果该值小于一美元,请在前导位置加零。e、 g 0.55
  • 如果该值没有美分,则放置两个尾随的零。e、 g.100.00
  • 这是棘手的部分。该值可能小于一美分,在这种情况下,应按原样打印。e、 g 0.005

  • 是否可以使用
    DecimalFormat
    实现此功能?如果不是最后一个要求,则可以使用“0.00”模式,但我不确定如何执行最后一个要求。

    您可以尝试使用If语句并重新声明您的十进制格式:

    if(num < 0.01 && num != 0)
        DecimalFormat dec = new DecimalFormat("$#,##0.000");
    
    if(num<0.01&&num!=0)
    DecimalFormat dec=新的DecimalFormat($#,##0.000”);
    

    这是一种非常残酷的力量,但我不知道是否存在直接改变它的十进制模式。

    我算出来了。要使其工作,您需要知道小数位数的最大计数。根据我的需要,该值最多可以有3个十进制数字,因此使用了“0.00#”模式