释放双眼,带上耳机,听听看~!

今天,简单讲讲android如何保留运算结果为浮点数时,保留两位小数显示。

这个其实很简单,最近做一个功能时,获取到文件的大小为B的数据,在界面上需要显示为MB,这是需要转换才可以1MB=1024*1024B,所以需要进行触发运算,但是运算结果为整数不好,需要为浮点数并且显示小数点后两位数据。当时居然不知道怎么办,所以在网上查找资料,最终解决了问题,这里记录一下。

android 保留两位小数5种方法

1.使用DecimalFormat

float distanceValue = Math.round((distance/10f))/100f;

DecimalFormat decimalFormat =new DecimalFormat(0.00);//构造方法的字符格式这里如果小数不足2位,会以0补足.

String distanceString = decimalFormat.format(distanceValue) + km;//format 返回的是字符串

2.利用标签

首先在value>string资源文件重定义String标签:

TextCustomView

Hello world!

Settings

your name is %1$50s, and your age is

%2$1.2f

然后再代码中使用:

String str = res.getString(R.string.xliff_test, xliff,(float)120);

然后得到的字符串就是保留两位小数据的(补零).

1.此种方式,在代码中就不需要再次对数据进行处理,可以简化代码与计算。

2.在使用xliff标签的%n$mf的方式的时候,m可以设置为1.n(n为要保留的小数位数,没有则补零,前面的1会完整保留当前数据,比如100.2会显示100.20,不用担心前面整数部分显示不正确)。

3.BigDecimal 方法

double f = 111231.5585;

BigDecimal bg = new BigDecimal(f);

double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

System.out.println(f1);

结果为:111231.56

4.String.format方法

System.out.println(String.format(“%.2f”, f));

结果为:111231.56

5.NumberFormat 方法

NumberFormat nf = NumberFormat.getNumberInstance();

nf.setMaximumFractionDigits(2);

System.out.println(nf.format(f));

结果为:111231.56

简单讲讲,其实很简单。第一种代码DecimalFormat在构造函数里设置了格式化的要求为保留两位小数,然后直接格式化浮点数就可以了。第2种代码string资源文件使用了%2$1.2f的格式化要求,其实就是保留两位小数。第三种代码使用将数据先转成BigDecimal,然后调用bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();来保留两位小数。第4种String.format之前写了博客讲这个的,大家可以去看看,或者自己去网上查找资料。第5中通过NumberFormat,通过设置nf.setMaximumFractionDigits(2);来保留浮点数两位小数。

以上5中函数是在网上找到的,都可以使用。但是由于我在listView里需要做很多的这种保留小数点的操作,所以对效率有要求。我最后自己想了一种代码,可以对数据先乘100然后除以100来保留两位小数。比如传回的文件大小为1234344444B.我是这样转换的:

(float)(1234344444B * 100 /1024/1024)/100,这样就可以保留两位小数,而且效率也比较好。

android 如何保留数据两位小数就讲完了。

就这么简单

android中小数怎么定义,android 如何保留数据两位小数相关推荐

  1. android 如何保留数据两位小数

    今天,简单讲讲android如何保留运算结果为浮点数时,保留两位小数显示. 最近,由于换了租房的位置,状态不好,现在没有心思写比较复杂的内容,最近写博客可能都会偏向简单的内容. 这个其实很简单,最近做 ...

  2. android中shape资源定义,Android可绘制对象资源之shape和layer-list使用

    Code4Android.jpg 前言 文章中内容多来自谷歌官方文档详戳,一些示例代码详戳GitHub,不喜请轻喷. 可绘制对象资源 可绘制对象资源是一般概念,是指可在屏幕上绘制的图形,以及可以使用 ...

  3. js运算保留后面两位小数

    首先创建一个js的文件,例如下面的round.js round.js的代码如下 function round(num,dec){ var strNum = num + '';/*把要转换的小数转换成字 ...

  4. JS保留最多两位小数

    Math.round(num * 100) / 100 原理就是: Math的round方法是取到整数的四舍五入. 乘以100, 相当于取到小数点后两位的四舍五入近似数. 再除以一百, 如果有小数的, ...

  5. 正则表达式--限制input输入0~1之间的小数,含0,1,最多两位小数

    一个简单的正则表达式,工作中可能经常用到,限制字符串的输入.数字的输入,这些用一个onkeyup就解决了,如:οnkeyup="value=value.replace(/[^\d]/g,'' ...

  6. android中shape资源定义,Android中drawable使用Shape资源

    本文实例为大家分享了drawable使用Shape资源的具体内容,供大家参考,具体内容如下 1.画一条水平方向的虚线 android:shape="line" > andro ...

  7. hive数据保留小数点两位小数

    方法一 round(column_name,2) 四舍五入截取(这种方法慎用,有时候结果不是你想要的) select round(645342.875645342,2); +------------+ ...

  8. java中保留两位小数的方法_Java中保留两位小数的四种方法实现实例

    在写程序的时候,有时候可能需要设置小数的位数,那么java中有哪几种保留小数位数的方法呢?本文以两位小数为例给出四种方法. package CodeJava_Leet; import java.mat ...

  9. Sql中如何保留小数点两位

    在 SQL 中,可以使用 ROUND 函数来保留小数点两位.语法如下: SELECT ROUND(column_name, 2) FROM table_name; 其中,column_name 是你要 ...

最新文章

  1. 70页论文,图灵奖得主Yoshua Bengio一作:「生成流网络」拓展深度学习领域
  2. 信息系统项目管理师:第4章:项目整体管理与变更管理(3)
  3. 安装Ubuntu 20.04.1 LTS (Focal Fossa)到U盘并安装ros2
  4. cygwin编译生成hello world_RISC-V 入门 Part4: 编译、链接、加载
  5. 1008-----算法笔记----------0-1背包问题(动态规划求解)
  6. 【Little_things】jsp+MySql简单的数据录入功能
  7. Android开发之Gradle多渠道打包总结
  8. C语言中return的各种用法
  9. 流水线的吞吐量,加速比,效率的计算
  10. 内容主题windows下简单的vbscript自动发送邮件--带附件
  11. redis hashmap过期_看完这篇再也不怕 Redis 面试了
  12. 白噪音和粉红噪音煲机_白噪音app体验报告
  13. amplify color_如何使用Amplify监视Nginx
  14. Linux 增加交换分区
  15. 红外接收管硬件电路曲折的调试过程,错误的使用过程记录
  16. Unity SRP从零搭建一套图形渲染管线
  17. Maven系列第4篇:仓库详解
  18. 蓝牙定位技术原理--蓝牙人员定位--蓝牙定位--新导智能
  19. php选课实验成品_PHP基于B/S模式下的学生选课管理系统、源码分享
  20. F-星球大战 几何 割线定理 精度

热门文章

  1. html5 canvas 椭圆,html5中怎么利用Canvas绘制椭圆
  2. 业务应用数据库压力过大解决方案
  3. 结对-动漫网页设计-需求分析
  4. 洗牌 --网易有道2017内推编程题
  5. python 定时器,每天凌晨3点执行方法
  6. php页面导出csv,使用PHP生成并导出CSV文件
  7. 云原生爱好者周刊:Grafana Loki 免费电子书
  8. ”故乡飘已远,往意浩无边“
  9. 焦虑症是精神病吗?缓解焦虑症的方法有哪些
  10. java Optional操作