decimals数据格式化

2023-11-08

decimals数据格式化

格式化数据,以便移动端UI显示。

1. 保留小数

无小数部分,则保留整数;有小数部分保留两位小数

1.1 iOS

+ (NSString *)formatFloat:(float)num
{
    if (fmodf(num, 1) == 0) {
        return [NSString stringWithFormat:@"%.0f",num];
    }
    else if (fmodf(num * 10, 1) == 0) {
        return [NSString stringWithFormat:@"%.2f",num];
    }
    else {
        return [NSString stringWithFormat:@"%.2f",num];
    }
}

fmodf()是一个C函数,计算除法运算x / y的浮点余数

float fmodf(float x,float y);
double fmod(double x,double y);
long double fmodl(long double x,long double y);

虽然客户端也可以处理,如果数据来源于服务端的话,最好让服务端处理好,客户端只拿数据,显示数据,尽量不做过多的数据处理。

2 去除小数点后多余的 0

  • 去除小数点后多余的 0,如果小数点后无 0,一并去除小数点。例:123.010000,去除后得到结果123.01。543.000000,去除后得到结果543。

2.1 iOS

iOS系统提供了简单的转换方法,NSNumber类型的数据转成字符串类型就去掉了末尾无用的 0。

+ (NSString *)numberStringFormat:(NSString *)numStr 
{
    return [NSString stringWithFormat:@"%@",@([numStr floatValue])];
}

NSString -> NSNumber -> NSString

2.2 C#

  • ToString(“g0”)

ToString(“g0”)函数是一种格式化decimal类型数的函数,直接去除末尾多余的0。

Console.WriteLine(0.99991000000000000.ToString("g0"));
  • TrimEnd()

TrimEnd()函数可以去除以 ‘x’ 结尾的字符,去除以 0 结尾的字符,但是需要注意的是,它是去掉所有以 0 结尾的数,包括小数点前面以 0 结尾的。

Console.WriteLine(0.99991000000000000.ToString().TrimEnd('0'));

如果要使用TrimEnd()的话,需要先取出小数部分,然后使用TrimEnd()函数去掉末尾无用的,再加上之前去掉的整数部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

decimals数据格式化 的相关文章

随机推荐

  • 一文读懂类加载机制

    类记载过程 多个java文件经过编译打包生成可运行的jar包 最终由java命令运行某个主类的main函数启动程序 这里首先需要通过类加载器把主类加载到jvm 主类在运行过程中如果使用到其他类 会逐步加载这些类 注意 jar包里的类不是一次
  • aws ec2 变更pem_用aws和jira建立一个连续的变更日志

    aws ec2 变更pem So you ve decided to go CI CD You read all about the org changes understand the ins and outs of the develo
  • Qt 如何实现文件类型关联

    何为文件打开关联 比如 一个扩展名为txt的文本 双击之后会调用 notepad exe 进行打开 doc的扩展名会调用word打开等等 咱们今天讲的是如何在Qt所编写的程序实现这个动作 这个关联动作都是记录在注册表中的 1 文件格式注册
  • Matlab函数之ismember,find

    一 ismember函数 1 ismember a b 返回前者是否存在于后者的logical数组 举例 a 1 2 3 4 5 6 b 3 5 6 ismember a b 返回的数组为 0 0 1 0 1 1 ismember b a
  • openldap2.4版本管理员文档中文翻译版

    OpenLDAP2 4管理员指南 文章目录 1 OpenLDAP介绍 2 快速开始指南 1 获得软件 2 解压压缩包 3 阅读文档 4 运行configure 5 编译软件 6 测试编译结果 7 安装软件 8 编辑配置文件 9 导入数据库配
  • 计算机网络 第4章 网络层

    第4章 网络层 网络层 network layer 负责为分组交换网上的不同主机提供通信 在发送数据时 将运输层产生的报文段或用户数据报封装成分组或包进行传送 在TCP IP体系中 分组也叫做IP数据包 或简称为数据报 4 1 网络层的几个
  • 透视投影矩阵的推导

    视锥体 如图 近截面与远截面之间构成的这个四棱台就是视锥体 而透视投影矩阵的任务就是把位于视锥体内的物体的顶点X Y Z坐标映射到 1 1 范围 这就相当于把这个四棱台扭曲变形成一个立方体 这个立方体叫做规则观察体 Canonical Vi
  • 如何在visio中画虚线框以及如何解决将visio图形复制到word文档中虚线变为实线的问题

    这两个问题都不是什么复杂的事情 但是如果对visio用的不多或者只是临时用起来碰到了这种问题还真是麻烦事儿 问题1 如何在visio中画虚线框 在上方的按钮中找到矩形工具那个按钮 对 点一下就可以在作图区画出来一个矩形了 可是这个矩形默认的
  • Ubuntu20.04部署GitLab

    安装 更新本地包 安装相关依赖 sudo apt update sudo apt install ca certificates curl openssh server postfix 安装postfix 邮件服务器 时可能出现激活gitl
  • 【开发工具】配置环境变量

    配置环境变量目录 一 环境变量的作用 二 环境变量的配置 一 环境变量的作用 当系统运行一个程序时 除了在当前目录下面寻找此程序外 还会到环境变量中的指定路径寻找 所以将程序的路径设置到环境变量 可以让程序在计算机的任意位置都可以运行 二
  • set-ExecutionPolicy‘ 不是内部或外部命令,也不是可运行的程序 或批处理文

    set ExecutionPolicy 不是内部或外部命令 也不是可运行的程序 或批处理文 1 打开Windows PowerShell ISE 在搜索框内搜索windows powershell ise 然后右击以管理员身份运行 2 输入
  • 315-Leetcode 希尔排序

    希尔排序也叫缩小增量 算法描述 希尔排序是间隔式的分组 5 3 1 利用直接插入排序进行排序 通过缩小分组 排序 再分组 再排序 直到缩为1组 完全有序为止 一趟希尔排序 gap为组数 间隔 分为5组 间隔数就是5 分为3组 间隔数就是3
  • sqlServer 常用查询语句

    查询语句 select 字段 from 表名 where 条件 select 字段 from 表名 where 字段 like 值 select distinct 字段 from 表名 排序查询 select 字段 from 表名 wher
  • 金山卫士开源软件之旅(九) KUI高级界面(列表控件、树控件例子、超文本、网页控件)

    转载自 http blog csdn net b2b160 article details 6275839 reply 注意 作者的例子及代码是基与上一版本的金山库 XML的语法及有些API名字不一样 本篇开始介绍比较复杂的界面应用了 界面
  • MySQL -- 获取某一字段数据的后几位! (SUBSTRING)

    select SUBSTRING id 3 from user 取id字段后三位字符 select SUBSTRING id 3 from user 从左开始第3位取 包括第三位
  • 文本标注平台 doccano 安装教程

    doccano简介 doccano 是一个开源的文本注释工具 它为文本分类 序列标记和序列到序列任务提供注释功能 因此 可以为情感分析 命名实体识别 文本摘要等创建标记数据 只需创建一个项目 上传数据并开始注释 安装 本文是基于window
  • HMM的学习

    20201012 0 引言 在学习 异常点检测 这本书的时候 在第十章的内容 离散数据的异常检测 记录中 涉及到隐马尔可夫模型 HMM 的学习 本篇文章具体记录HMM的学习过程 因为 异常点检测 书中关于这部分内容过于简短 本文主要学习文章
  • 有序单链表转换成二叉平衡搜索树

    题目 Given a singly linked list where elements are sorted in ascending order convert it to a height balanced BST 关键词 有序单链表
  • hibernate 注解 ,视图无主键,怎么配置联合主键

    我之前用myeclipse 反向生成了2个pojo 但是hql查询有问题 生成的类 Service类 我传入一个值查询的时候 这好像是我底层的 sessionFactory getCurrentSession createQuery hql
  • decimals数据格式化

    文章目录 decimals数据格式化 1 保留小数 1 1 iOS 2 去除小数点后多余的 0 2 1 iOS 2 2 C decimals数据格式化 格式化数据 以便移动端UI显示 1 保留小数 无小数部分 则保留整数 有小数部分保留两位