如何在 Java 中使用 String.format 将长整型转换为货币格式的字符串



我需要学习如何在具有以下方案的toString()方法中将long值转换为货币格式的字符串:

  • 如果给定多头值 = 9287,则需要显示为 $92.87
  • 如果给定多头值 = -9287,则需要显示为 $-92.87
  • 如果给定多头值 = 100000000,则需要显示为 $1,000,000.00
  • 如果给定多头值 = 49,则需要显示为 $0.49

感谢弦乐大师的任何帮助。

public static void main(String [] args){
       DecimalFormat f = new DecimalFormat("$#,##0.00;-$#,##0.00");
       //test with
       long num1 = 9287;
       long num2 = -9287;
       long num3 = 100000000;
       long num4 = 49;
       System.out.println("num1 = "+f.format(num1/100.0));
       System.out.println("num2 = "+f.format(num2/100.0));
       System.out.println("num3 = "+f.format(num3/100.0));
       System.out.println("num4 = "+f.format(num4/100.0));
}

我希望你使用的是Java。试试这个:

            import java.text.NumberFormat;
            NumberFormat f = NumberFormat.getCurrencyInstance();
            System.out.println(f.format(doubleValue(yourVar)/100));

String.format() 不支持货币格式。因此,您需要自己插入货币符号或使用java.text包装。

package tests;
import java.util.Locale;
public class App201210130101 {
/**
 * @param args
 */
public static void main(String[] args) {
    long value;
    value = 9287;
    print(value);
    value = -9287;
    print(value);
    value = 100000000;
    print(value);
    value = 49;
    print(value);
}
public static void print(long value) {
    System.out.println(String.format(Locale.US, "$%,.2f", (double)value/100));
}
}

最新更新