我需要学习如何在具有以下场景long
的方法中将值转换为货币格式的字符串:toString()
- 如果给定long value = 9287,需要显示为$92.87
- 如果给定long value = -9287,需要显示为$-92.87
- 如果给定long value = 100000000,需要显示为$1,000,000.00
- 如果给定long value = 49,需要显示为$0.49
感谢字符串大师的任何帮助。
我需要学习如何在具有以下场景long
的方法中将值转换为货币格式的字符串:toString()
感谢字符串大师的任何帮助。
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));
}
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));
}
}
我希望你正在使用 Java。尝试这个 :
import java.text.NumberFormat;
NumberFormat f = NumberFormat.getCurrencyInstance();
System.out.println(f.format(doubleValue(yourVar)/100));