最近APP中出现该需求,所以自己开发了一下相关方法,具体代码如下,按需自取。

-(NSString *)changetochinese:(NSString *)numstr
{double numberals=[numstr doubleValue];NSArray *numberchar = @[@"零",@"壹",@"贰",@"叁",@"肆",@"伍",@"陆",@"柒",@"捌",@"玖"];NSArray *inunitchar = @[@"",@"拾",@"佰",@"仟"];NSArray *unitname = @[@"",@"万",@"亿",@"万亿"];//总额乘以100转换成字符串(去除小数值)NSString *valstr=[NSString stringWithFormat:@"%.2f",numberals];NSString *prefix;NSString *suffix;if (valstr.length<=2) {prefix=@"零点";if (valstr.length==0) {suffix=@"零零";}else if (valstr.length==1){suffix=[NSString stringWithFormat:@"%@",[numberchar objectAtIndex:[valstr intValue]]];}else{NSString *head=[valstr substringToIndex:1];NSString *foot=[valstr substringFromIndex:1];suffix=[NSString stringWithFormat:@"%@%@",[numberchar objectAtIndex:[head intValue]],[numberchar objectAtIndex:[foot intValue]]];}}else{prefix=@"";suffix=@"";int flag=valstr.length-2;NSString *head=[valstr substringToIndex:flag-1];NSString *foot=[valstr substringFromIndex:flag];if (head.length>13) {return@"数值太大(最大支持13位整数),无法处理";}//处理整数部分NSMutableArray *ch=[[NSMutableArray alloc]init];for (int i = 0; i < head.length; i++) {NSString * str=[NSString stringWithFormat:@"%x",[head characterAtIndex:i]-'0'];[ch addObject:str];}int zeronum=0;for (int i=0; i<ch.count; i++) {int index=(ch.count -i-1)%4;//取段内位置int indexloc=(ch.count -i-1)/4;//取段位置if ([[ch objectAtIndex:i]isEqualToString:@"0"]) {zeronum++;}else{if (zeronum!=0) {if (index!=3) {prefix=[prefix stringByAppendingString:@"零"];}zeronum=0;}prefix=[prefix stringByAppendingString:[numberchar objectAtIndex:[[ch objectAtIndex:i]intValue]]];prefix=[prefix stringByAppendingString:[inunitchar objectAtIndex:index]];}if (index ==0 && zeronum<4) {prefix=[prefix stringByAppendingString:[unitname objectAtIndex:indexloc]];}}prefix = [prefix stringByAppendingString:@"点"];//处理小数位if ([foot isEqualToString:@"00"]) {suffix =[suffix stringByAppendingString:@"整"];}else if ([foot hasPrefix:@"0"]){NSString *footch=[NSString stringWithFormat:@"%x",[foot characterAtIndex:1]-'0'];suffix=[NSString stringWithFormat:@"%@",[numberchar objectAtIndex:[footch intValue] ]];}else{NSString *headch=[NSString stringWithFormat:@"%x",[foot characterAtIndex:0]-'0'];NSString *footch=[NSString stringWithFormat:@"%x",[foot characterAtIndex:1]-'0'];suffix=[NSString stringWithFormat:@"%@%@",[numberchar objectAtIndex:[headch intValue]],[numberchar objectAtIndex:[footch intValue]]];}}return [prefix stringByAppendingString:suffix];
}

iOS非金额两位小数转化为大写中文相关推荐

  1. iOS 四舍五入保留两位小数

    通常我们四舍五入输出可能你会用NSString stringWithFormat函数%.2f方式,但是这个四舍五入有时可能不是四舍五入,而是五舍六入.其实有更精确的四舍五入方式. 先说一下最后确定使用 ...

  2. js 正则输入验证 整数 两位小数 三位小数

    inputChange1(e){//验证输入 整数                 var self = this                 var o = e.target           ...

  3. JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金) 两位小数

    第一: 限制只能是整数 ? 1 <input type = "text" name= "number" id = 'number' onkeyup= &q ...

  4. element-ui表格列金额显示两位小数

    对于金额的显示,大多情况下需要保留两位小数,比如下面的(表格采用 element-ui): 在vue.js中,对文本的处理通常是通过设置一系列的过滤器,过滤器可以用在两个地方:双花括号插值 和 v-b ...

  5. el-input输入金额,保留两位小数

    需求:"只允许输入金额保留两位小数",有2种实现方法 方法一(通过正则控制): html: <el-inputv-model="inputTable.amount& ...

  6. [js] 写一个方法,实时验证input输入的值是否满足金额如:3.56(最多只有两位小数且只能数字和小数点)的格式,其它特殊字符禁止输入

    [js] 写一个方法,实时验证input输入的值是否满足金额如:3.56(最多只有两位小数且只能数字和小数点)的格式,其它特殊字符禁止输入 <body><input type=&qu ...

  7. php转化为2位小数的数字,学习猿地-php 转化为两位小数的方法

    php转化为两位小数的方法:1.利用"round()"对浮点数进行四舍五入:2.利用"sprintf"格式化字符串:3.利用千位分组来格式化数字的函数" ...

  8. 金额格式化,符号位,保留两位小数

    金额格式化,符号位,保留两位小数 金额格式化,有符号位,保留两位小数.和网上大相径庭,只是发现有的-345.66格式化之后为"-,345.66",符号位没有考虑到,自己改了一下.直 ...

  9. 对金钱金额的处理--每三位间隔‘,‘,末尾保留两位小数

    对金钱金额的处理–每三位间隔',',末尾保留两位小数 由于项目的原因,最近遇到在下单时需要对金额进行特殊处理,我的需求是:当折扣不足0.01元时,不计入折扣.也就是这部分由客户自行承担. 朋友给我分享 ...

最新文章

  1. Visual Studio进行Web性能测试- Part III
  2. 一个动作让全球震惊!百度Apollo就这样改写了全球智能驾驶格局
  3. WireShark 探索网络请求过程(五层网络模型、三次握手、滑动窗口协议)
  4. 王者服务器维护7月九号,腾讯手游王者荣耀7月9号9点半版本更新,备受期待的S20赛季它来了...
  5. 【2012百度之星/初赛下】B:网页聚类
  6. MFC入门(一)——MFC是一个编程框架
  7. uva 1630——Folding
  8. 千牛通知栏常驻是什么意思_店铺运营|内贸1688 店铺真正的权重是什么?
  9. 重载函数编译后的新名字
  10. 7-166 二分法求多项式单根 (20 分)
  11. 复合选择器-并集选择器(HTML、CSS)
  12. 8岁小学生表白遭拒:被一部iPhone打败
  13. FFmpeg滤镜代码级分析
  14. 企业级 SpringBoot 教程 (一)构建第一个SpringBoot工程
  15. JVM初识之类加载过程
  16. 怎么使用SSH从服务器下载文件
  17. php获取steam装备信息,api – 获取某人的Steam库存
  18. 黑CNN网站:解恨但不明智
  19. 内网安全 域环境的搭建(模仿真实内网环境 做渗透测试.)
  20. Rstudio的界面如何恢复成四个界面

热门文章

  1. PHP使用文字检索,关键词查询,分词查询
  2. ROS文件系统和文件系统操作
  3. springBoot启动类报错
  4. jPBC 2.0.0配置与测试(补充版)
  5. 闪送,为何能比顺丰送得更快?
  6. 发票信息批量提取到 excel 软件 4.0
  7. 自学微信二次开发(1)
  8. 月圆“会客厅“欢度国庆节,平度举行2020中秋十一晚会
  9. Mina中的支付交易snark
  10. recycle view drag and swip demo