首页 > 其他分享 >android kotlin 小数保留格式化位数

android kotlin 小数保留格式化位数

时间:2024-06-05 11:44:17浏览次数:17  
标签:格式化 String numberFormat format kotlin failValue Double android 小数

import java.math.RoundingMode
import java.text.NumberFormat
import java.util.*

/**

  • 支持设置舍入模式的类型小数
    */
    inline fun Any?.formatDecimalRoundingMode(
    decimalDigits: Int = 2,
    roundingMode: RoundingMode = RoundingMode.HALF_UP,
    failValue: Double = 0.0
    ): String {
    val numberFormat = NumberFormat.getNumberInstance(Locale.getDefault())
    numberFormat.roundingMode = roundingMode
    numberFormat.maximumFractionDigits = decimalDigits
    return try {
    numberFormat.format(this?.toString()?.toDouble())
    .formatDecimalInterruptOrFillMode(decimalDigits)
    } catch (e: NumberFormatException) {
    numberFormat.format(failValue).formatDecimalInterruptOrFillMode(decimalDigits)
    }
    }

/**

  • 强模式小数格式化,超长的直接截取,长度不够填充0
    */
    inline fun Any?.formatDecimalInterruptOrFillMode(
    decimalPlaces: Int = 2,
    failValue: Double = 0.0
    ): String = try {
    String.format("%.\({decimalPlaces}f", this.toString().toDouble()) } catch (e: NumberFormatException) { String.format("%.\){decimalPlaces}f", failValue)
    }

/**

  • 强模式小数格式化,超长的直接截取,长度不够填充0
    */
    inline fun Any?.formatDecimal(
    failValue: Double = 0.0
    ): Double = try {
    toString().toDouble()
    } catch (e: NumberFormatException) {
    failValue
    }

标签:格式化,String,numberFormat,format,kotlin,failValue,Double,android,小数
From: https://www.cnblogs.com/lizhanqi/p/18232700

相关文章

  • android viewbinding 自动填充工具
    `importandroid.content.Contextimportandroid.view.LayoutInflaterimportandroidx.lifecycle.*importandroidx.viewbinding.ViewBindingimportjava.lang.reflect.ParameterizedType/**查找某个类找到带有指定泛型的具体类/fungetGenericSuperclass(clazz:Class<......
  • JSON 数据格式化方法
    文章目录数据介绍IDE或脚本格式化在线工具网址总结数据介绍JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它基于JavaScript编程语言的一个子集。尽管它起源于JavaScript,但JSON已经成为了一个完全独立于语言的文本格式,被广泛采用和应用于多种编程......
  • 将 Android 应用程序嵌入华为移动设备的最佳方式是什么?
    我是华为移动应用程序开发的新手。i)AndroidStudio代码是否可以移植到DevEcoIDE中?ii)请就华为移动应用程序的开发要求和期望提供一些建议。iii)AndroidStudio-kotlin和Java开发人员的最佳方法iv)有关华为移动应用程序开发指南和要求的资源指南预先感谢,请......
  • uniapp打包Android跟iOS禁用录屏截屏
    1.禁用截屏和录屏的目的保护敏感信息:防止用户截屏或录屏分享应用中的敏感信息,如个人隐私数据、金融信息、商业机密等。版权保护:保护应用中的版权内容,如视频、图片、文本内容,防止未经授权的复制和传播。数据安全:防止恶意用户利用截屏或录屏功能进行信息盗取,增加应用的数据......
  • android如何保存对象list到file
    //存储publicstaticvoidsaveObjectsToFile(List<?extendsSerializable>objects,Stringfilename)throwsIOException{Filefile1=BaseApplication.getInstance().getApplicationContext().getExternalFilesDir("");FileappDir=new......
  • js日期格式化代码
    js日期格式化代码分享一个前端实用的js 日期格式化代码,相当给力。 1exportfunctiongetFillDate(key){2if(key<10){3return`0${key}`;4}else{5return`${key}`;6}7}8/**9*时间戳转化为年月日10*@paramtimes时间戳......
  • Android14 WMS-窗口添加流程(二)-Server端
    Android14WMS-窗口添加流程(一)-Client端-CSDN博客本文接着上文"Android14WMS-窗口添加流程(一)-Client端"往下讲。也就是WindowManagerService#addWindow流程。目录一.WindowManagerService#addWindow标志1:mPolicy.checkAddPermission标志2:getDisplayContentOrCreate......
  • 计算机毕业设计Android的个人日程计划系统的APp设计与实现
    1、选题背景如今,安卓手机的使用基本上已经广泛应用各个年龄段,也就是说当人们充分接触手机时,在享受手机带来的方便快捷和沟通乐趣时,也存在一些问题,主要表现在“手机”上。人们使用手机的时间越来越长,他们也觉得时间越来越短。时间就是金钱,这是当今社会普遍认可的事实,也就是说人......
  • 计算机毕业设计Android的健康运动计步器APP的设计
    基于Android的健康计步APP可以包含以下功能模块:移动端应用(Android前端)功能模块:(1)用户注册和登录功能:•   用户注册:用户可以输入用户名、密码和其他必要信息进行注册,并将注册信息保存到数据库中。•   用户登录:用户可以使用用户名和密码进行登录,验证用户凭据,以便访问......
  • 计算机毕业设计Android大学生兼职信息评价系统
    android端:(1)用户注册与登录:学生和用人单位可以通过手机号码注册账户并登录。(2)个人信息管理:用户可以编辑和管理个人信息,包括头像、昵称、联系方式等。(3)兼职搜索与浏览:学生可以根据关键词、地点、工资等条件进行兼职搜索,并浏览符合条件的兼职信息。(4)兼职申请与投递简历:学生可以选......