- 浏览: 283609 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
CodeLove:
如果包含<,(,)...等特殊字符呢
Python变量名检测 -
zlxzlxzlxzlxzlx:
这不能算是任意进制之间的转换,只能算是 2、8、10、16 几 ...
java实现的任意进制转换 -
mychaoyue2011:
在本地执行了几遍,结果都是:s2开始休眠s1开始休眠s2休眠结 ...
Java线程学习笔记(四)线程join -
chxiaowu:
不错!
Java版的树 -
TenAclock:
这个例子 做不到“学生都交完” 考试结束,只能做到等到考试时间 ...
Java线程学习笔记(十一) DelayQueue的应用
import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMode; public class BigDec { public static void main(String[] args){ // 四舍五入方法 MathContext v = new MathContext(5,RoundingMode.HALF_DOWN); BigDecimal a = new BigDecimal("0.87234643298346",v); System.out.println(a); } }
继承关系: java.lang.Object |__ java.text.Format |__java.text.NumberFormat |__ java.text.DecimalFormat public class DecimalFormatextends NumberFormatDecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够解析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它 还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。 要获取具体语言环境的 NumberFormat(包括默认语言环境),可调用 NumberFormat 的某个工厂方法,如 getInstance()。通常不直接调用 DecimalFormat 的构造方法,因为 NumberFormat 的工厂方法可能返回不同于 DecimalFormat 的子类。如果需要自定义格式对象,可执行: NumberFormat f = NumberFormat.getInstance(loc); if (f instanceof DecimalFormat) { ((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true); } DecimalFormat 包含一个模式 和一组符号。可直接使用 applyPattern() 或间接使用 API 方法来设置模式。符号存储在 DecimalFormatSymbols 对象中。使用 NumberFormat 工厂方法时,可从已本地化的 ResourceBundle 中读取模式和符号。 例如:
- import java.text.*;
- import java.util.*;
- public class DecimalFormatSample {
- public static void main(String args[]) {
- //使用系统默认的格式
- DecimalFormat myformat1 = new DecimalFormat( "###,###.0000" );
- System.out.println(myformat1.format(111111123456.12 ));
- Locale.setDefault(Locale.US);
- //使用美国的格式
- DecimalFormat myformat2 = new DecimalFormat( "###,###.0000" );
- System.out.println(myformat2.format(111111123456.12 ));
- //----------also use applypattern------------------------//
- DecimalFormat myformat3 = new DecimalFormat();
- myformat3.applyPattern("##,###.000" );
- System.out.println(myformat3.format(11112345.12345 ));
- //-----------------控制指数输出 ---------------------------//
- DecimalFormat myformat4 = new DecimalFormat();
- myformat4.applyPattern("0.000E0000" );
- System.out.println(myformat4.format(10000 ));
- System.out.println(myformat4.format(12345678.345 ));
- //------------------百分数的输出 ---------------------------//
- /* DecimalFormat是NumberFormat的一个子类,其实例被指定 为特定的地区。因此,你可以 使用NumberFormat.getInstance
- 指定一个地区,然后将结构强制转换为一个DecimalFormat对象。文档中提到这个技术 可以在大多情况下适用,但 是你需要用
- try/catch 块包围强制 转换以防转换不能正常工作 (大概在非常不明显得情况下使用一个奇异的地区)。 */
- DecimalFormat myformat5 = null ;
- try {
- myformat5 = (DecimalFormat)NumberFormat.getPercentInstance();
- }catch (ClassCastException e)
- {
- System.err.println(e);
- }
- myformat5.applyPattern("00.0000%" );
- System.out.println(myformat5.format(0.34567 ));
- System.out.println(myformat5.format(1.34567 ));
- }
import java.text.*;
import java.util.*;
public class DecimalFormatSample {
public static void main(String args[]) {
//使用系统默认的格式
DecimalFormat myformat1 = new DecimalFormat("###,###.0000");
System.out.println(myformat1.format(111111123456.12));
Locale.setDefault(Locale.US);
//使用美国的格式
DecimalFormat myformat2 = new DecimalFormat("###,###.0000");
System.out.println(myformat2.format(111111123456.12));
//----------also use applypattern------------------------//
DecimalFormat myformat3 = new DecimalFormat();
myformat3.applyPattern("##,###.000");
System.out.println(myformat3.format(11112345.12345));
//-----------------控制指数输出---------------------------//
DecimalFormat myformat4 = new DecimalFormat();
myformat4.applyPattern("0.000E0000");
System.out.println(myformat4.format(10000));
System.out.println(myformat4.format(12345678.345));
//------------------百分数的输出---------------------------//
/*
DecimalFormat是NumberFormat的一个子类,其实例被指定为特定的地区。因此,你可以使用
NumberFormat.getInstance
指定一个地区,然后将结构强制转换为一个DecimalFormat对象。文档中提到这个技术可以在大多情况下适用,但是你需要用
try/catch 块包围强制转换以防转换不能正常工作 (大概在非常不明显得情况下使用一个奇异的地区)。 */
DecimalFormat myformat5 = null;
try{
myformat5 = (DecimalFormat)NumberFormat.getPercentInstance();
}catch(ClassCastException e)
{
System.err.println(e);
}
myformat5.applyPattern("00.0000%");
System.out.println(myformat5.format(0.34567));
System.out.println(myformat5.format(1.34567));
}
/*---------------------------运行结果-------------------------
//
命令:java DecimalFormatSample
结果:
111,111,123,456.1200
111,111,123,456.1200
11,112,345.123
1.000E0004
1.235E0007
34.5670%
134.5670%
*/
}
发表评论
-
Consider the following code: What will be printed?
2010-09-24 20:30 979Consider the following code: Wh ... -
Java 基础复习笔记一
2010-06-04 02:03 1147这两天复习java的基础知识,把一些自己认为比较有用的点记录下 ... -
Java 转义字符
2010-06-03 21:21 1019\n 回车(\u000a) \t 水平制表符(\u0009) ... -
生产消费者的模拟
2010-05-27 23:16 1697采用Java 多线程技术,设计实现一个符合生产者和消费者问题的 ... -
Java 控制台下显示文件结构
2010-05-27 00:10 3275题目: 编写一个Java ... -
Java得到类目录
2010-05-26 23:22 1192String path = MainTest.class.ge ... -
Java文件压缩
2010-05-23 21:54 1237package com.woxiaoe.study.io ... -
UDP传输图片的尝试
2010-05-22 18:05 9852UDP是不可靠的,发送的数据不一定会到达,且顺序不一定 ... -
【转载】Java String.Format() 方法及参数说明
2010-05-15 22:18 1341JDK1.5中,String类新增了一个很有用的静态方法S ... -
【转载】String.format函数使用方法介绍
2010-05-15 22:17 1214http://edu.codepub.com/2009/111 ... -
Java线程学习笔记(十一) DelayQueue的应用
2010-05-01 00:34 15717DelayQueue 是一个无界的BlockingQueue ... -
Java线程学习笔记(十)CountDownLatch 和CyclicBarrier
2010-04-30 21:04 2858CountDownLatch : 一个同步辅助类,在完成一组 ... -
Java线程学习笔记(九)生产者消费者问题
2010-04-29 22:27 1746用多线程来模拟生产者消费者问题。用到BlockingQueue ... -
Java线程学习笔记(八)线程之间的协作
2010-04-26 23:13 1842wait()与notifyAll() 调用sleep ... -
Java线程学习笔记(七)java中递增不是原子性
2010-04-24 23:00 2937以下为测试代码,通过一个自增函数得到最新的值,玩Set你存,看 ... -
Java线程学习笔记(六)在其他对象上同步
2010-04-24 22:47 1376package com.woxiaoe.study.threa ... -
Java线程学习笔记(五)资源共享问题
2010-04-24 21:04 1295IncreaseClient 中持有一个base,每次调用起i ... -
Java线程学习笔记(四)线程join
2010-04-24 20:06 1313《Java编程思想》的一个例子,如果某个线程在另一个线程t上调 ... -
基于java的图(四) 强连通组件
2010-04-22 21:06 1559有向图中, u可达v不一定意味着v可达u. 相互可达则属于同一 ... -
基于java的图(三) 图的拓扑排序
2010-04-21 16:14 1895相关: 基于java的图的实现 基于java ...
相关推荐
DecimalFormat 类可以用于格式化数字,包括四舍五入操作。例如: ```java double i = 2.5; DecimalFormat df = new DecimalFormat("0"); System.out.println("四舍五入取整:(2.5) = " + df.format(i)); ``` 然而,...
浮点数任意保留数位小数但不需四舍五入小程序
3. **`NumberFormat`和`DecimalFormat`**: 这些类主要用于格式化数字输出,它们也可以在格式化过程中进行四舍五入。例如: ```java DecimalFormat df = new DecimalFormat("0.00"); df.setRoundingMode(Rounding...
在提供的`FormatNumberSupport.java`源代码文件中,可能包含了对`<fmt:formatNumber>`标签的支持函数或扩展,这些函数可能会帮助我们更灵活地控制数字格式化,包括自定义四舍五入行为。通过查看和理解这段源代码,...
`DecimalFormat`是`java.text`包中的一个类,可以用来格式化数字,包括四舍五入。例如: ```java new DecimalFormat("#.00").format(3.1415926); ``` `"#.00"`是模式字符串,表示保留两位小数。`format`方法会根据...
在这个例子中,我们首先将数字乘以100(即移位两位),然后使用`Math.round()`进行四舍五入操作,最后再除以100还原到原来的量级,从而实现了四舍五入并保留两位小数的功能。 #### 二、其他编程语言中的实现 为了...
在Java中,`BigDecimal`类是用来处理大数值和高精度计算的,同样适用于四舍五入: ```java BigDecimal bd = new BigDecimal("12345.6789"); BigDecimal rounded = bd.setScale(2, RoundingMode.HALF_UP); System....
在本文中,我们详细介绍了 Java 中 DecimalFormat 的用法和四舍五入的实现方法。DecimalFormat 是一个功能强大且灵活的格式化工具,可以满足我们格式化数字的需求。同时,我们还可以使用不同的模式来实现不同的格式...
在Java编程语言中,对数字进行四舍五入并保留指定的小数位数是常见的需求。以下是五种不同的方法来实现这一目标: 1. **使用`BigDecimal`类**: `BigDecimal`是Java中用于处理高精度、大数值计算的类,提供了多种...
当格式化数字`1.25`时,由于小数点后第一位的5之后没有其他数字,根据四舍六入五成双的原则,我们检查前一位数是否为偶数。在这种情况下,前一位数2是偶数,因此最终结果保持不变,即`1.2`。 #### 结语 四舍五入虽...
1. **数值四舍五入**:根据指定的小数位数进行四舍五入,例如保留两位小数。 2. **货币格式化**:将数字转换为货币格式,比如美元、人民币等,可以指定货币符号并处理千位分隔符。 3. **百分比格式化**:将数值...
在这里,`RoundingMode.HALF_UP`用于设置四舍五入模式。 总结来说,`NumberFormat`和`java.math`包的`BigInteger`、`BigDecimal`类是Java中处理格式化输出和高精度计算的关键工具。它们提供了丰富的功能,确保了在...
string("0")`则根据“银行家舍入”规则进行四舍五入,倾向于舍入到最接近的偶数。例如,`1.5?string("0")`和`2.5?string("0")`都将结果四舍五入为2。 在实际应用中,选择合适的数字格式化方法取决于具体需求。对于...
另一个可能用到的库是`02.bizplant-util-NumberFormat.js`,从文件名推测,这可能是用于数字格式化的工具,提供了类似于Java的`NumberFormat`接口的功能。 `BigDecimal.js`通常用于处理大数运算,避免了JavaScript...
在IT行业中,转换数字格式是常见的任务之一,特别是在金融领域,因为中文大写数字用于防止欺诈和提高账目的准确性。本篇文章将详细讲解如何将用罗马数字表示的金额转化为中文大写表示,主要关注Java编程语言实现这一...
本文将深入探讨如何在Java中保留两位小数,并覆盖四舍五入、浮点数精确计算以及避免科学记数法等问题。 #### 四舍五入保留两位小数 四舍五入是数学中的一个基本概念,指的是当一个数的小数部分小于等于0.5时,将其...
- **取小数点前两位并四舍五入**:使用`Math.round()`方法结合数学运算实现,例如: ```java double value = 123.456; double roundedValue = Math.round(value * 100.0) / 100.0; ``` #### 4. 日期和时间 - *...
#### 方式一:使用`BigDecimal`进行四舍五入 `BigDecimal`类提供了精确的浮点数运算能力,非常适合用于需要高精度的场景。通过调用`setScale`方法可以方便地设置小数位数,并指定四舍五入的方式。 ```java double ...