DecimalFormat 的使用_胡小牧的博客-程序员宅基地

技术标签: Android 知识点记录  DecimalFormat  

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字 默认采用的是四舍五入模式,当然我们可以修改模式

具体用法如下

符号 位置 本地化? 含义
0 数字 阿拉伯数字
# 数字字 阿拉伯数字,如果不存在则显示为 0
. 数字 小数分隔符或货币小数分隔符
- 数字 减号
, 数字 分组分隔符
E 数字 分隔科学计数法中的尾数和指数。在前缀或后缀中无需加引号。
; 子模式边界 分隔正数和负数子模式
% 前缀或后缀 乘以 100 并显示为百分数
\u2030 前缀或后缀 乘以 1000 并显示为千分数
¤ (\u00A4) 前缀或后缀 货币记号,由货币符号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符。
' 前缀或后缀 用于在前缀或或后缀中为特殊字符加引号,例如 "'#'#" 将 123 格式化为 "#123"。要创建单引号本身,请连续使用两个单引号:"# o''clock"

 

API 地址

下面说2个0 和#

        double str =1.538;
        DecimalFormat decimalFormat = new DecimalFormat("0");
        Log.e("-----decimalFormat", decimalFormat.format(str));// 打印结果 2
        DecimalFormat decimalFormat1 = new DecimalFormat("0.0");
        Log.e("-----decimalFormat1", decimalFormat1.format(str));// 打印结果 1.5
        DecimalFormat decimalFormat2 = new DecimalFormat("0.00");
        Log.e("-----decimalFormat2", decimalFormat2.format(str));// 打印结果 1.54
        DecimalFormat decimalFormat3 = new DecimalFormat("00.00");
        Log.e("-----decimalFormat3", decimalFormat3.format(str));// 打印结果 01.54

        DecimalFormat decimalFormat4 = new DecimalFormat("#");
        Log.e("-----decimalFormat4", decimalFormat4.format(str));// 打印结果 2
        DecimalFormat decimalFormat5 = new DecimalFormat("#.#");
        Log.e("-----decimalFormat5", decimalFormat5.format(str));// 打印结果 1.5
        DecimalFormat decimalFormat6 = new DecimalFormat("#.##");
        Log.e("-----decimalFormat6", decimalFormat6.format(str));// 打印结果 1.54
        DecimalFormat decimalFormat7 = new DecimalFormat("##.##");
        Log.e("-----decimalFormat7", decimalFormat7.format(str));// 打印结果 1.54

变量修改下,在此看下打印结果

        double str =1.5;
        DecimalFormat decimalFormat = new DecimalFormat("0");
        Log.e("-----decimalFormat", decimalFormat.format(str));// 打印结果 2
        DecimalFormat decimalFormat1 = new DecimalFormat("0.0");
        Log.e("-----decimalFormat1", decimalFormat1.format(str));// 打印结果 1.5
        DecimalFormat decimalFormat2 = new DecimalFormat("0.00");
        Log.e("-----decimalFormat2", decimalFormat2.format(str));// 打印结果 1.50
        DecimalFormat decimalFormat3 = new DecimalFormat("00.00");
        Log.e("-----decimalFormat3", decimalFormat3.format(str));// 打印结果 01.50

        DecimalFormat decimalFormat4 = new DecimalFormat("#");
        Log.e("-----decimalFormat4", decimalFormat4.format(str));// 打印结果 2
        DecimalFormat decimalFormat5 = new DecimalFormat("#.#");
        Log.e("-----decimalFormat5", decimalFormat5.format(str));// 打印结果 1.5
        DecimalFormat decimalFormat6 = new DecimalFormat("#.##");
        Log.e("-----decimalFormat6", decimalFormat6.format(str));// 打印结果 1.5
        DecimalFormat decimalFormat7 = new DecimalFormat("##.##");
        Log.e("-----decimalFormat7", decimalFormat7.format(str));// 打印结果 1.5

 下面修改下默认的模式,

   double str =1.5;
        DecimalFormat decimalFormat = new DecimalFormat("0");
        decimalFormat.setRoundingMode(RoundingMode.DOWN);
        Log.e("-----decimalFormat", decimalFormat.format(str));// 打印结果 1

自己用的也就是这2个,其他的感兴趣可以自己试试。。。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33210042/article/details/115113248

智能推荐

SAMA5D3之GPIO_weixin_34342578的博客-程序员宅基地

http://www.cnblogs.com/zym0805/p/4276205.html转载于:https://www.cnblogs.com/YH-APP/p/4576659.html

阿里云centos7 新购买的磁盘挂载_无、涯的博客-程序员宅基地

系统阿里云服务器 centos7 ,新购买了1块100G磁盘,还需要手动挂载才能正常使用查看磁盘挂载情况: fdisk -l有一个 100G 的未使用磁盘 /dev/vdb分区: fdisk /dev/vdb注: 如果不熟悉磁盘操作,建议照着下面提示做。磁盘分区完得到 /dev/vdb1 ,下面挂载的时候会用到。 注意:我这里是vdb1 读者注意自己分区后的磁盘名[ro...

lambda 表达式实现按某个属性值查找集合中符合条件的所有对象并求和_qq_43021380的博客-程序员宅基地

lambda 表达式实现按某个属性值查找集合中符合条件的所有对象并求和1,先按照条件找到所有符合的对象,生成集合。2,把生成的集合进行单列求和。以上两步骤用lambda 表达式可以合并。定义对象:public class Cart { // 商品id private Integer id; // 商品所属分类 private Int...

vue ElementUI 表单验证 不能绑定多层次数据_kepping的博客-程序员宅基地

elementUI 的 el-row组件提供了rules属性来定制 各个el-form-item的验证规则代码如下,其中form的 :model必须绑定一个对象,然后form-item prop属性绑定该对象下面的想要验证的属性,注意!!! prop指定的属性只能是对象的下一层属性 ,例如对象 var data = {name:"",sex:"",config:{set:"",get:""}}当:...

非确定性问题(L2-023 图着色问题 (25 分))_cp0328的博客-程序员宅基地

原题链接L2-023 图着色问题 (25 分)图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分...

通过tomcat修改JVM参数_历史残骸的博客-程序员宅基地_tomcat修改jvm启动参数

tomcat\bin\catalina.bat文件setlocal参数下添加信息, 内容如下set JAVA_OPTS=%JAVA_OPTS% -server -Xms1024m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=1024M -XX:MaxPermSize=1024m-Xms 堆内存初始大小, 默认是物理内存1/64-Xmx 堆内存最大大小, 默认是物理内存1/4-Xmn 新生代大小-XX:MaxNewSize 新生代可被分配的内存的

随便推点

如何基于android4.4.2的源码和android-4.3.1_r1的驱动编译I9250的ROM_gobitan的博客-程序员宅基地

如何基于android4.4.2的源码和android-4.3.1_r1的驱动编译I9250的ROM作者:雨水  2014-05-04 联系方式:dennis.hu.cd at gmail.com说明:经过多番折腾,终于把自己编译的Android4.4.2的源代码成功地跑在我的三星Galaxy Nexus I9250手机上了。期间离不开一位外国朋友的帮助,也就是参考资料[1]的

Python【接口开发】_derud7050的博客-程序员宅基地

import flaskimport json#步骤一:# __name__,代表当前这个python文件server = flask.Flask(__name__) #把咱们当前这个python文件,当做一个服务#步骤二:@server.route('/index',methods=['get'])#此处methods=['get','Post']也可以,表示该接口同时支持get和po...

vivoX7的Android版本哪个好,vivoX23和vivoX7哪个最好用 看完这些优缺点再做决定_暄饶的博客-程序员宅基地

vivoX23优点:看到这款手机的第一感觉就很惊艳很优雅,我感觉主要原因是光感美学作为设计理念被vivo加入到vivo X23,所以在X23上,用户总会感受到它的存在。首先就是体现在外观方面,vivo X23目前有两种配色,幻夜蓝与魅影紫,蓝色灵感来自于深邃的天空与大海,魅影紫则是由都市霓虹带来的绝佳创意,这两种配色搭配3D玻璃材质、"瓷感镀层"工艺以及反光镀膜...

Control Structures_weixin_30920853的博客-程序员宅基地

if … then statementif [ test_command ]then commandsfiif … then … else statementif [ test_command ]then commandselse commandsfiif … then...

UI Recorder实现多浏览器自动化测试_诺-nuo的博客-程序员宅基地

1、先来一段官方的介绍:UI Recorder是一款零成本的整体自动化测试解决方案,一次自测等于多次测试,测一个浏览器等于测多个浏览器!支持所有用户行为: 键盘事件, 鼠标事件, alert, 文件上传, 拖放, svg, shadow dom支持无线native app录制, 基于macaca实现: https://macacajs.com/无干扰录制: 和正常测试无任何区别,无需任

如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组)_PuerAloe的博客-程序员宅基地

最近由于工作原因入手了移远的5G(RM500H工业模组)通信开发板,由于手头上没有树莓派等原装Linux内核系统,又需要使用ROS,因此使用了Vmware虚拟机安装了Ubuntu16.04进行调试。最终可以实现Ubuntu系统使用4G电话卡(手头没有5G的电话卡,只有一张闲置的4g电信卡)连接上网。调试设备及文档:1.PC机(已安装Vmware及Ubuntu)2.移远5G工业模组开发板3....