android中小数怎么定义,android 如何保留数据两位小数
释放双眼,带上耳机,听听看~!
今天,简单讲讲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 如何保留数据两位小数相关推荐
- android 如何保留数据两位小数
今天,简单讲讲android如何保留运算结果为浮点数时,保留两位小数显示. 最近,由于换了租房的位置,状态不好,现在没有心思写比较复杂的内容,最近写博客可能都会偏向简单的内容. 这个其实很简单,最近做 ...
- android中shape资源定义,Android可绘制对象资源之shape和layer-list使用
Code4Android.jpg 前言 文章中内容多来自谷歌官方文档详戳,一些示例代码详戳GitHub,不喜请轻喷. 可绘制对象资源 可绘制对象资源是一般概念,是指可在屏幕上绘制的图形,以及可以使用 ...
- js运算保留后面两位小数
首先创建一个js的文件,例如下面的round.js round.js的代码如下 function round(num,dec){ var strNum = num + '';/*把要转换的小数转换成字 ...
- JS保留最多两位小数
Math.round(num * 100) / 100 原理就是: Math的round方法是取到整数的四舍五入. 乘以100, 相当于取到小数点后两位的四舍五入近似数. 再除以一百, 如果有小数的, ...
- 正则表达式--限制input输入0~1之间的小数,含0,1,最多两位小数
一个简单的正则表达式,工作中可能经常用到,限制字符串的输入.数字的输入,这些用一个onkeyup就解决了,如:οnkeyup="value=value.replace(/[^\d]/g,'' ...
- android中shape资源定义,Android中drawable使用Shape资源
本文实例为大家分享了drawable使用Shape资源的具体内容,供大家参考,具体内容如下 1.画一条水平方向的虚线 android:shape="line" > andro ...
- hive数据保留小数点两位小数
方法一 round(column_name,2) 四舍五入截取(这种方法慎用,有时候结果不是你想要的) select round(645342.875645342,2); +------------+ ...
- java中保留两位小数的方法_Java中保留两位小数的四种方法实现实例
在写程序的时候,有时候可能需要设置小数的位数,那么java中有哪几种保留小数位数的方法呢?本文以两位小数为例给出四种方法. package CodeJava_Leet; import java.mat ...
- Sql中如何保留小数点两位
在 SQL 中,可以使用 ROUND 函数来保留小数点两位.语法如下: SELECT ROUND(column_name, 2) FROM table_name; 其中,column_name 是你要 ...
最新文章
- 70页论文,图灵奖得主Yoshua Bengio一作:「生成流网络」拓展深度学习领域
- 信息系统项目管理师:第4章:项目整体管理与变更管理(3)
- 安装Ubuntu 20.04.1 LTS (Focal Fossa)到U盘并安装ros2
- cygwin编译生成hello world_RISC-V 入门 Part4: 编译、链接、加载
- 1008-----算法笔记----------0-1背包问题(动态规划求解)
- 【Little_things】jsp+MySql简单的数据录入功能
- Android开发之Gradle多渠道打包总结
- C语言中return的各种用法
- 流水线的吞吐量,加速比,效率的计算
- 内容主题windows下简单的vbscript自动发送邮件--带附件
- redis hashmap过期_看完这篇再也不怕 Redis 面试了
- 白噪音和粉红噪音煲机_白噪音app体验报告
- amplify color_如何使用Amplify监视Nginx
- Linux 增加交换分区
- 红外接收管硬件电路曲折的调试过程,错误的使用过程记录
- Unity SRP从零搭建一套图形渲染管线
- Maven系列第4篇:仓库详解
- 蓝牙定位技术原理--蓝牙人员定位--蓝牙定位--新导智能
- php选课实验成品_PHP基于B/S模式下的学生选课管理系统、源码分享
- F-星球大战 几何 割线定理 精度