`

怎么使float保留两位小数或多位小数

 
阅读更多

怎么使float保留两位小数或多位小数

 


两种方法:

import java.math.*; 
…… 
方法1: 
float f = 34.232323; 
BigDecimal b = new BigDecimal(f); 
float f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue(); 
// b.setScale(2, BigDecimal.ROUND_HALF_UP) 表明四舍五入,保留两位小数 
方法2: 
float scale = 34.236323; 
DecimalFormat fnum = new DecimalFormat("##0.00"); 
String dd=fnum.format(scale); 
System.out.println(dd);

 


JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数.

以前以为很容易,一直没在意,今天突然用到了,才发现,系统没有这样的函数.狂晕,同事们用的方法为,先转成String,再取其中几位,再转成float型,(如:String.valueOf(c).substring(0,String.valueOf(c).indexOf(".") + 3)): 我觉得这样不爽,于是找了书看看,书上还真没找到,晕晕.到网上找了一些方法,还真行.如下(以下都是取2位,如果要取其它位,自己修改一下):

(一):这种方法方便,我就使用这种方法

float a = 123.2334f; 
float b = (float)(Math.round(a*100))/100;(这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000)

(二):这个方法也简单,不过还要再转成float型: 
import java.text.DecimalFormat; 
String a = new DecimalFormat("###,###,###.##").format(100.12345 );

(三):这个也可以用

float ft = 134.3435f; 
int scale = 2;//设置位数 
int roundingMode = 4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等. 
BigDecimal bd = new BigDecimal((double)ft); 
bd = bd.setScale(scale,roundingMode); 
ft = bd.floatValue();

(四):个人想法,还没去做

就是先放大10的N次方,变成整数,再除以10的N次方变回float型 , 不知道这样可以不?

 


 

暂时就这么多,以后如果还发现了新的,再发上来

(附)日期格式化
//获取当前系统日期和时间的方法
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String[] args) throws Exception {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //格式为特有的,API文档中有
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//
Date d = new Date();
System.out.println(sdf.format(d));


}

分享到:
评论

相关推荐

    android EditText单价(Int)与数量(Float)自动相乘 保留两位小数

    android EditText单价(Int)与数量(Float)自动相乘 保留两位小数

    Java保留两位小数的几种写法总结

    相信大家在平时做项目时,可能会有这样的业务... 那么这篇文章小编就和大家分享了利用Java保留两位小数的几种写法,文章给出了详细的示例代码,对大家的学习和理解很有帮助,有需要的朋友们下面来一起学习学习下吧。

    CSharp小数位数保留的方法大全

    CSharp小数位数保留的方法大全文档,是我见过最实用的,从网上也搜集过很多,但尝试过后,好多都不能使用,但文档中的方法,不仅可以教你如何使用,而且有好多其他未见过的使用方法,请下载查看!

    python 保存float类型的小数的位数方法

    今天小编就为大家分享一篇python 保存float类型的小数的位数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    C++数据精度问题(对浮点数保存指定位小数)

    主要介绍了对浮点数保存指定位小数。比如, 1.123456. 要保存1位小数,,调用方法后, 保存的结果为: 1.1。 再比如,1.98765, 保存2位小数的结果为: 2.00,需要的朋友可以参考下

    JavaScript如何实现对数字保留两位小数一位自动补零

    本章节介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先看代码实例: function returnFloat(value){ var value=Math.round...

    关于数据库中保留小数位的问题

    本篇文章是对关于在数据库中保留小数位的问题进行了详细的分析介绍,需要的朋友参考下

    C# 小数位数保留的方法集锦

    c#下关于小数位数的一些实现方法集合,方便对c#小数位数控制的朋友。

    c语言float类型小数点后位数

    在本篇文章里小编给大家整理了关于c语言float类型小数点后面有几位的相关知识点,需要的朋友们可以学习下。

    go浮点数转字符串保留小数点后N位的完美解决方法

    主要介绍了go浮点数转字符串保留小数点后N位解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    javascript实现保留两位小数的多种方法

    第一种方法:javascript实现保留两位小数一位自动补零代码实例: 第一种方法介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先看代码实例...

    python 正确保留多位小数的实例

    python自带的float函数在保留两位小数的时候不够准确容易出现误差,而(‘%.2f’ % a)的方式是将数字转成了字符串类型,无法进行数字运算,所以这里我们将封装一个方法来实现正确的保留多位小数。 from functools ...

    cJSON库可以更改数字精度

    简单的cjson库,我更改过cjson.c的print_number函数,最大数字精度可以自己改,不会出现跟一串0,想改的话改这一句sprintf(str,"%.9lf",d);

    js浮点数保留两位小数点示例代码(四舍五入)

    本篇文章主要介绍了js浮点数保留两位小数点示例代码(四舍五入) 需要的朋友可以过来参考下,希望对大家有所帮助

    详细分析sqlserver中的小数类型(float和decimal)

    在SQL Server中实际上只有两种小数数值类型,分别是float(近似数值)和decimal(精确数值),这两种类型能表示所有的小数数值类型。 float(近似数值类型) float表示的是近似数值,存在一定的精度缺失。 float(n)...

    python 除法保留两位小数点的方法

    以上这篇python 除法保留两位小数点的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:浅谈Python里面小数点精度的控制pandas 小数位数 精度的处理...

    Python123 练习2

    用户输入矩形的长和宽,计算其面积并输出,结果四舍五入,保留2位小数。 第一行输入一个数字,代表矩形的长‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪...

    JavaScript 获取任一float型小数点后两位的小数

    主要介绍了JavaScript如何获取小数任一小数点后的位数的小数,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics