金额格式化

@interface NSString (RMB)

- (NSString *)RMBFormatString;

@end

#import "NSString+RMB.h"

@implementation NSString (RMB)

- (NSString *)RMBFormatString {
    NSString *number = self;
    if ([number doubleValue] > 0) {
        number = [NSString stringWithFormat:@"%.2f",[number doubleValue]];
        NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc]init];
        numFormatter.numberStyle = NSNumberFormatterDecimalStyle;

        NSNumber *num = [NSNumber numberWithDouble:[number doubleValue]];
        NSString *str = [NSString stringWithFormat:@"%@",[numFormatter stringFromNumber:num]];
        if ([str rangeOfString:@"."].length > 0) {
            NSString *floatStr = [str componentsSeparatedByString:@"."][1];
            if (floatStr.length == 1) {
                str = [NSString stringWithFormat:@"%@0",str];
            } else{
                str = [str substringToIndex:([str rangeOfString:@"."].location + 3)];
            }
            return [NSString stringWithFormat:@"¥%@",str];
        } else{
            return [NSString stringWithFormat:@"¥%@.00",str];
        }
    } else {
        return @"¥0.00";
    }
}
@end
时间: 2025-01-16 20:47:15

金额格式化的相关文章

JS版 数字 金额 格式化 方法

/** * JS版 数字 金额格式化 * @param string s 需要处理的数字串 * @param string n 保留小数的位数 */function fmoney(s, n) { n = n >= 0 && n <= 20 ? n : 2; s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";//更改这里n数也可确定要保留的

js 金额格式化

//格式化金额 function fmoney(s, n) { n = n > 0 && n <= 20 ? n : 2; s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";//更改这里n数也可确定要保留的小数位 var l = s.split(".")[0].split("").reverse()

js 格式化 -- 金额,字符,时间

//金额转换成大写 function toDaX(num){ //金额大小写转换 if (isNaN(num) || num > Math.pow(10, 12)) return ""; var cn = "零壹贰叁肆伍陆柒捌玖"; var unit = new Array("拾佰仟", "分角"); var unit1 = new Array("万亿", ""); if(pars

输入框内格式化金额、银行卡号

我们在项目中经常遇到需要格式化的金额数和银行卡号,一般我们常见的有两种表现形式:输入框内格式化和输入框外格式化.这里我主要把我在项目中遇到的输入框内部格式化的,代码亮出来,框外的格式化相对简单一点. 页面代码: <div class="wrap"> <input type="text" id="bankCard" placeholder="输入银行卡号"> </div> <div cl

字符串金额转化为指定格式的货币格式

前言 做金融项目的时候,接触的大量数字字符串往往需要格式化显示,这里我写了一个demo,将字符串金额格式化,可以保留小数位数,可以添加货币标识前缀. 写在string的原型里面,需要格式化的时候直接格式化呗! 例:'123345.23123'.moneyFormatter(2,'¥') 输出: '¥123,345.23' demo有注释,我就不多做说明了 我的demo <!DOCTYPE html> <html lang="en"> <head> &

[SAP ABAP开发技术总结]数据输入输出转换、小数位/单位/货币格式化

目录导航 声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 15.             数据格式化.转换... 123 15.1.         数据输入输出转换... 123 15.1.1.     输出时自动转换... 123 15.1.2.     输入时自动转换... 124 15.1.3.     通过转换规则输入输出函数手动转换... 124 15.2.         数量小位数格式化... 125 15.2.

Freemaker使用教程

在java领域,表现层技术主要有三种:jsp.freemarker.velocity. jsp是大家最熟悉的技术优点:1.功能强大,可以写java代码2.支持jsp标签(jsp tag)3.支持表达式语言(el)4.官方标准,用户群广,丰富的第三方jsp标签库5.性能良好.jsp编译成class文件执行,有很好的性能表现缺点:jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构. velocity是较早出现的用于代替jsp的模板语言优点:1.不能编写ja

angular 指令 要点解析

指令可以删繁就简前端的js代码,杜绝重复的js代码和html代码. 下面就对指令的重要属性进行罗列 一.restrict  =  'AEC'  分别指该指令标识位于attribute属性.element元素.class. 二.scope  = true/false/{name:'=/@/&'}    默认为false,如果设置为true 则说明指令内部独立作用域. scope: { lover: '=', name: '@', say: '&' } 1.{name:'@inputName'

(一)模板引擎之velocity介绍

Velocity 什么是velocity? Velocity是一个基于java的模板引擎(template engine).可以使用简单的模板语言(templatelanguage)来引用由java代码定义的对象. Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供便利,同时也在JSP和PHP之间提供了一种可选的方案.也许您可能会有疑问,什么是模板引擎呢? 什么是模板引擎? 官方说,模板引擎(web开发模板引擎)是为了使用用户界面与业务数据内容分离而产生的,它可