「java格式化位数」java 位数
今天给各位分享java格式化位数的知识,其中也会对java 位数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java保留有效位数四种方法
; 方式一 double f = ; BigDecimal b = new BigDecimal(f) double f = b setScale( BigDecimal ROUND_HALF_UP) doubleValue() //数字 是保留两位小数BigDecimal ROUND_HALF_UP是上舍入的舍入模式 方式二 java text DecimalFormat df = new java text DecimalFormat( # ) df format(你要格式化的数字) 例 new java text DecimalFormat( # ) format( ) # 表示两位小数# 四位小数 以此类推… 方式三 double d = ; String result = String format( % f ) % f % 表示 小数点前任意位数 表示两位小数 格式后的结果为f 表示浮点型 方式四 NumberFormat ddf =NumberFormat getNumberInstance() void setMaximumFractionDigits(int digits) digits 显示的数字位数为格式化对象设定小数点后的显示的最多位 显示的最后位是舍入的 import java text * ; import java math * ; class TT {public static void main(String args[]) { double x= ; NumberFormat ddf =NumberFormat getNumberInstance() ddf setMaximumFractionDigits( ) String s= ddf format(x) System out print(s) }}
例子 /* * Double java * * By: * 用于输出双精度数值的小数位数 */ package dou; import java util *; import java text *; public class Double{ public static void main(String[] args){ Scanner input=new Scanner(System in) System out print( 请输入一个数值 ) double num=input nextDouble() //输入一个数值 DecimalFormat df=new DecimalFormat( ) //保留一位小数 DecimalFormat dg=new DecimalFormat( ) //保留两位小数 DecimalFormat dh=new DecimalFormat( ) //保留三位小数 String strnum =df format(num) //将num转换为字符串型 String strnum =dg format(num) String strnum =dh format(num) System out println( 一位小数位 +strnum ) //输出一位小数 System out println( 两位小数位 +strnum ) System out println( 三位小数位 +strnum ) }} lishixinzhi/Article/program/Java/hx/201311/26808
java数字格式化
用 %3.2f格式化后, 替换逗号即可;
同理, 用 #,##0.00 格式化后, 替换, 为空格即可.
你的需求:
double x = 1234.5;
DecimalFormat df = new DecimalFormat("#,###.0");
String xs = df.format(x);
xs = xs.replace(",", " ").replace(".", ",");
System.out.println(xs);
输出
1 234,5
java格式化数字是什么意思?
在java中,用java.text包下的DecimalFormat类对数据进行格式化,它可以把数字格式化成一个你想要那种格式的字符串,也可以把格式字符串变成数字:例如:
DecimalFormat df=new DecimalFormat("¥###,###.00");
String s=df.format(123.45);
System.out.println(s); 结果为字符串¥123.45
当然也可以字符串转成数字:
System.out.println(df.parse(s)); 结果为数字123.45
java数字如何格式化?
public static String xxx(String aa) {
String flag = "";
if (aa.length() 4) {
flag = aa.substring(0, 3) + "." + aa.substring(3, 4);
} else {
flag = aa;
}
return flag;
}
//当然可以继续判断大于5为四舍五入
延展阅读:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
JAVA里面如何格式化数字
楼主你好!给你写了个测试类希望能帮助你。这两个个方法只需要传入你要格式话的数据,就可以返回你想要的结果了。 package com.line;public class T9 {
/**
* b格式化一般数据为财务格式,eg:123,456,789.00/b
*
* @param source
* String
* @return String
*/
public static String getCaiWuData(String source) {
StringBuffer str = new StringBuffer("");
if (source != null !source.equals("") source.length() 0
!source.equals("null")) {
if (source.lastIndexOf(",") 0) {
source =formatStr(source);
}
int dotIndex = 0;
if (source.indexOf(".") 0) {
source += ".00";
}
dotIndex = source.indexOf(".");
int index = 0;
String opt = "";
opt = source.substring(0, 1);
if (opt.equals("-")) {
source = source.substring(1);
str.append("-");
dotIndex = source.indexOf(".");
}
if (dotIndex 3) {
index += 1;
str.append(source.substring(0, dotIndex));
}
if (dotIndex % 3 == 0) {
index += dotIndex / 3;
} else {
index += (dotIndex - dotIndex % 3) / 3;
}
if (index 0 dotIndex = 3) {
for (int i = index; i 0; i--) {
if (i == index) {
str.append(source.substring(0, dotIndex - i * 3));
}
if (dotIndex - i * 3 0) {
str.append(",");
}
if (i = 1) {
str.append(source.substring(dotIndex - i * 3, dotIndex
- (i - 1) * 3));
}
}
}
str.append(source.substring(dotIndex));
}
if (source.length() - source.lastIndexOf(".") 3) {
str.append("0");
}
int dot_index = str.toString().indexOf(".") + 2;
int str_len = str.toString().length();
char[] strArr = str.toString().toCharArray();
StringBuffer rev = new StringBuffer();
for (int i = str_len - 1; i 0; i--) {// 除去尾数0,小数点后保留2位
if (i dot_index
Integer.parseInt(new Character(strArr[i]).toString()) 0) {
rev.append(str.toString().substring(0, i + 1));
break;
} else if (i == dot_index (int) strArr[i] = 0) {
rev.append(str.toString().substring(0, dot_index + 1));
break;
}
}
return rev.toString();
}
/**
* b格式化财务数据为一般字符串,eg:123456789.00/b
*
* @param source
* String
* @return String
*/
public static String formatStr(String source) {
StringBuffer str = new StringBuffer("");
if (source != null !source.equals("") source.length() 0
!source.equals("null")) {
String temp = source.substring(0, 1);
if (temp.equals("-")) {
source = source.substring(1);
str.append("-");
}
String[] myarr = source.split(",");
int lastIndex = source.lastIndexOf(",");
if (lastIndex 0) {
for (int i = 0; i myarr.length; i++) {
str.append(myarr[i]);
}
}
if (source.lastIndexOf(",") 0) {
str.append(source);
}
if (source.lastIndexOf(".") 0) {
str.append(".00");
}
if (source.length() - source.lastIndexOf(".") 3
!"0".equals(source)) {
str.append("0");
}
} else {
return (str.append("0.00").toString());
}
return str.toString();
}
/**
* @param args
*/
public static void main(String[] args) {
T9 t=new T9();
System.out.println(t.getCaiWuData("1231313"));
System.out.println(t.formatStr("1,231,313.00"));
}}
java对数字格式化的几种方法
在NumberFormat类中为我们提供了格式化4种数字的方法:整数、小数、货币和百分比,通过工厂方法getNumberInstance, getNumberIntance, getCurrencyInstance, getPercentInstance方法获得相应的实例对象就行。例如我们要以字符串表示人民币88888.88元,这样来写就行:
NumberFormat nf = NumberFormat.getCurrencyInstance();
System.out.println(nf.format(88888.88));
定制格式化数字
可是对于稍微复杂一点的需求,NumberFormat就满足不了了,幸好java还提供了DecimalFormat实现定制的格式化。要使用DecimalFormat对象,必须提供给它提供一个格式化的模式(pattern):
String pattern = …
DecimalFormat df = new DecimalFormat(pattern);
或者:
DecimalFormat df = new DecimalFormat();
df. applyPattern(pattern);
然后就调用它的format方法就行了。
java格式化位数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 位数、java格式化位数的信息别忘了在本站进行查找喔。
发布于:2022-12-29,除非注明,否则均为
原创文章,转载请注明出处。