conf/initializers/float.rb
# encoding: utf-8
class Float
Numbers = {"0" => "零", "1" => "壹", "2" => "贰", "3" => "叁", "4" => "肆", "5" => "伍", "6" => "陆", "7" => "柒", "8" => "捌", "9" => "玖"}
Positions = {"0" => "元", "1" => "拾", "2" => "佰", "3" => "仟", "4" => "万", "5" => "拾", "6" => "佰", "7" => "仟", "8" => "亿", "9" => "拾","10" => "佰", "11" => "仟"}
Fraction = {"0" => "角", "1" => "分"}
def to_zh
first_nu,last_nu = abs.to_s.split(".")
raise "小数点必须保留两位" if last_nu.length > 2
raise "单位必须小于或等于(亿)" if first_nu.length > 11
ary = []
fraction = []
num_to_zh = first_nu.reverse.split('').collect{|s| Numbers[s.to_s]}
num_to_zh.each_with_index{|x,v| ary.unshift(x == "零" ? ( v == 4 ? "万" : v == 8 ? "亿" : "零") : [x ,Positions[v.to_s]])}
last_nu.split('').each_with_index{|m,o| fraction << [Numbers[m.to_s],Fraction[o.to_s]]}
(self < 0 ? "负" : "") + (ary.join.gsub(/零+/,"零").gsub(/零亿/,"亿零").gsub(/零万/,"万零").gsub(/零+/,"零").gsub(/零$/,"元") + (last_nu == "0" ? "整" : fraction.join.gsub(/零角/,"零")))
end
end
分享到:
相关推荐
将数字转变为大写的人民币格式输出比如 1024356 输出为:一百零拾二万四千三百五拾六
前面给大家介绍过使用javascript,php,c#,python等语言实现人民币大写格式化,这篇文章主要介绍了java实现将数字转换成人民币大写的代码,非常的简单实用,分享给大家,需要的朋友可以参考下
为避免误触发,有些改为了txt格式,使用时请自行查看业务然后改为bat格式即可。
一点通通用收据打印软件是一款简单易用,功能丰富的收据打印软件,用户可以通过它更加方便地打印、管理统一...3、自动生成人民币大写 4、可对收据进行保存、修改、删除、查询统计等管理操作 5、可设置编辑打印模板 6
一款简单实用,很人性化的,可以让用户自己定义界面和... 2、自动生成人民币大写 3、可对收据进行保存、修改、删除、查询等管理操作 4、分类统计收据款项 5、权限管理和数据备份 6、以Excel表格形式导出记录
编码/解码、阻止事件冒泡、阻止默认行为、localStorage对象方法、复制到粘贴板、将数字转换成人民币大写的方法、得到合理的金额数字、格式化金额(自定义分隔符)、画线等等各种方法,可以随意调用!(需要依赖jquery...
日期自动生成,智能自动记忆功能,输入数字金额,自动转换大写或人民币大写形式,最大限度避免因手工填写票据所产生的差错,将工作人员从繁杂的票据中解脱出来。打印出来的票据准确清晰,不易涂改,对于防范风险、...
两种标准大写金额格式设定;两种大写日期(月份)设定;历史记录排列顺序设定。 6、支票自动关联进账单、背书,自动生成存根,从而把需要填写的票据内容降低到最低程度。 7、本系统适合各种型号的打印机,不必担心...
//下面的代码被lichaohui格式化整理 if NN > 9999999999999.99 then begin //MessageDlg(‘金额溢出。‘,mtError,[mbOk], 0); HZ := ‘‘; Result := HZ; exit; end; if NN = 0 then begin HZ := ‘零元‘; result ...
会员模块注册,邮箱,手机号,微信等第三方授权注册密码修改,重置扩展会员成长,签到代码格式化代码的格式,选择Laravel风格代码提交前一定要通过格式化+优化导入编码设计规范短函数,单函数不超过80行,最好40以内...
两种标准大写金额格式设定;两种大写日期(月份)设定;历史记录排列顺序设定。 6、支票自动关联进账单、背书,自动生成存根,从而把需要填写的票据内容降低到最低程度。 7、本系统适合各种型号的打印机,不必担心...
函数功能与参数:将阿拉伯数字转为人民币金额大写。仅需要一个参数,即单元格引用。 函数名称:批注 函数功能与参数:提取批注中的文字。只有一个参数,即单元格引用。 函数名称:合并 函数功能与参数:将区域...
函数功能与参数:将阿拉伯数字转为人民币金额大写。仅需要一个参数,即单元格引用。 函数名称:批注 函数功能与参数:提取批注中的文字。只有一个参数,即单元格引用。 函数名称:合并 函数功能与参数:将区域...
技巧161格式化数值、日期和时间392 技巧162个人所得税自定义函数394 技巧163人民币大写函数396 技巧164列号转换为列标398 技巧165判断工作表是否为空表399 技巧166查找指定工作表400 技巧167查找指定工作簿是否打开...
函数功能与参数:将阿拉伯数字转为人民币金额大写。仅需要一个参数,即单元格引用。 函数名称:批注 函数功能与参数:提取批注中的文字。只有一个参数,即单元格引用。 函数名称:合并 函数功能与参数:将区域...
大写将阿拉伯数字转为人民币金额大写。仅需要一个参数,即单元格引用 批注提取批注中的文字。只有一个参数,即单元格引用 合并将区域字符合并。第一参数为分割符,第二参数为引用区域。可以用""表示不使用分割符。第...
函数功能与参数:将阿拉伯数字转为人民币金额大写。仅需要一个参数,即单元格引用。 函数名称:批注 函数功能与参数:提取批注中的文字。只有一个参数,即单元格引用。 函数名称:合并 函数功能与参数:将区域...
技巧161 格式化数值、日期和时间 394 技巧162 个人所得税自定义函数 396 技巧163 人民币大写函数 398 技巧164 列号转换为列标 400 技巧165 判断工作表是否为空表 401 技巧166 查找指定工作表 402 技巧167 查找指定...
3.5 人民币大写转换函数 -- AmountUppder 3.6 在应用程序中关闭外部程序 -- CloseApp 3.7 在应用程序中启动控制面板项目 -- RunControl 3.8 非Tab分隔符文本文件导入数据窗口 -- ImportFile 3.9 编译后的程序带...