格式化-java中用DecimalFormat怎样把一个数字变成货币样式

问题描述

java中用DecimalFormat怎样把一个数字变成货币样式
        DecimalFormat df = new DecimalFormat();
        df.setGroupingSize(2);//进行分组,
        df.setGroupingUsed(false);//分组可用
        df.setCurrency(Currency.getInstance(Locale.US));//加上货币符号,根据不同国家地区
        System.out.println(df.format(100000));//格式化

解决方案

 public static void main(String[] args) {
          NumberFormat nf = new DecimalFormat("$,###.##");
          String testStr = nf.format(123456789.123);
          System.out.println(testStr);
    }

解决方案二:

输出货币符号时使用NumberFormat的getCurrencyInstance方法,参数为加入的货币符号国家。比如下面输出带美元符号的数字:

NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US);
        System.out.println(nf.format(100000));//格式化

输出结果为:

$100,000.00

解决方案三:

格式化,具体查一下格式吧,记不清了

解决方案四:

    DecimalFormat df1=new DecimalFormat("¥#0.000");
    System.out.println(df1.format(0.34502334544));
    System.out.println(df1.format(32342.30304502334544));

/*************结果*************/
// ¥0.345
// ¥32342.303

时间: 2024-07-30 21:54:10

格式化-java中用DecimalFormat怎样把一个数字变成货币样式的相关文章

java中用集合写一个简单的登录功能。麻烦大家看一看

问题描述 java中用集合写一个简单的登录功能.麻烦大家看一看 //这是注册的方法 public static void reg(){ Collection id=new ArrayList();//账户 Collection passWord=new ArrayList();//密码 Scanner sc=new Scanner(System.in); System.out.println("请输入账号:"); id.add(sc.next()); System.out.printl

java 输入一个数字,反转输出这个数字的值(实现方法)_java

如下所示: package 第四天; import java.util.Scanner; public class 数字反转 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int num=sc.nextInt(); int result=0;//存反转的数字 while(true) { int n=num%10

《Java特种兵》1.3 简单数字游戏玩一玩

1.3 简单数字游戏玩一玩 数字游戏没错就是玩数字游戏 Java怎么玩马上见证下 玩数字有什么用途呢我们不是虚拟数据给别人看而是通过玩数字转换让我们更了解计算机的数字运算也许数字运算可以有一些神奇的地方有些变态的问题也不是我们想的那么简单. 这里不讲基本的"四则运算"胖哥会讲一些运算符然后再讲讲"大数字"是如何处理的. 1.3.1 变量A.B交换有几种方式 胖哥认为有3种方法来实现变量交换其中一种最简单的方法就是定义一个变量C作为中间量来实现代码例子如下 int C

numbers-如何让用户输入一个数字,然后分辨是比array里面的数字大还是小

问题描述 如何让用户输入一个数字,然后分辨是比array里面的数字大还是小 import java.util.Scanner; public class Arrays13 { public static void main(String[] args) { Scanner reader = new Scanner(System.in); int number; int[] numbersArray = new int[]{11,8,4,9,22,30,24,23,35,0}; System.ou

java中用的数据库是access插入数据

问题描述 java中用的数据库是access插入数据 为什么我的文本类型插不进去? 解决方案 这里,小二是一个变量,如果仅仅是字面值,去掉前面的 ""+ 和后面的 +"",别的类似. 解决方案二: 编辑器都提示了语法错误,根本就不能编译通过,怎么插 解决方案三: java读取access数据库数据Java 从Access数据库读取数据插入到JavaDB数据库表中java 无需建立数据源连接access数据库

c语言-从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数

问题描述 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 解决方案 我用java不过逻辑都一样 int n = 987878976;//正是是从键盘接收的数字,处理后的数字. int count = 0;//保存数字的位数 while(n>=1){ count++; n = n/10; } //输出count就可以了 解决方案二: #include <iostream> using names

c/c++有指针来改变实参,java中用什么来解决这问题?

问题描述 c/c++有指针来改变实参,java中用什么来解决这问题? c/c++有指针来改变实参,java中用什么来解决这问题?对象的封装.对象本身的成员,自己的方法? 解决方案 java可以用引用包含一个值变量,修改,比如class A{ public int x;}main(){ A a = new A(); x.x = 1; foo(a); // x.x == 2;}void foo(A a){ a.x++;} 解决方案二: java有引用,和指针差不多,C++里也有引用也和他类似. 解决

socket-ecplise Java中用ServerSocket监听端口问题

问题描述 ecplise Java中用ServerSocket监听端口问题 端口号为60012,java的PID为4036,只启用了一个ServerSocket.打开cmd并netstat -aon|findstr ""60012""后,发现有两个地址?这是为什么?谢谢各位大神了 解决方案 验证了的确会出现这两条信息.你的客户端代码和服务器端代码是在同一个局域网中吗?如果代码正确的话,不会连接不上的啊. 解决方案二: 不懂---------- 解决方案三: 或者能不

java.text.DecimalFormat 的问题

问题描述 各位好,我用java.text.DecimalFormat做一些格式化的工作,我的代码如下:DecimalFormat ft=new java.text.DecimalFormat("#,解决方案二:.00;(-#,解决方案三:.00)");System.out.println(ft.format(-0.2123));但是运行结果是:-.21请各位帮我看看,谢谢! 解决方案 DecimalFormat ft=new java.text.DecimalFormat("