请教个问题:关于小写数字转化中文大写

12.3563   怎么样可以转换成大写:壹拾贰点叁伍陆叁 ,并且不能四舍五入

FineReport 张毅 发布于 2020-9-11 14:57
1min目标场景问卷 立即参与
回答问题
悬赏:8 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
张洪威Lv6高级互助
发布于2020-9-11 15:13

CONCATENATE(REPLACE(CNMONEY(LEFT("12.3563",FIND(".","12.3563")-1)),"圆整",""),"点",REPLACE(MAPARRAY(split(mid("12.3563",FIND(".","12.3563")+1,100),""),SWITCH(item,"3","叁","5","伍","6","陆")),",",""))


SWITCH 函数里面自己把0-9补全,其他数你可以自行测试下。


image.png

最佳回答
0
yiyemeiyingLv4高级互助
发布于2020-9-11 15:00

https://help.finereport.com/doc-view-824.html#3


CNMONEY(number,unit)返回人民币大写。

number:需要转换的数值型的数。

unit:单位,"s","b","q","w","sw","bw","qw","y","sy","by","qy","wy"分别代表“拾”,“佰”,“仟”,“万”,“拾万”,“佰万”,“仟万”,“亿”,“拾亿”,“佰亿”,“仟亿”,“万亿”。

注:单位可以为空,如果为空,则直接将 number 转换为人民币大写,否则先将 number 与单位的进制相乘,然后再将相乘的结果转换为人民币大写。

示例:

CNMONEY(1200)等于壹仟贰佰圆整。

CNMONEY(12.5,"w")等于壹拾贰万伍仟圆整。

CNMONEY(56.3478,"bw")等于伍仟陆佰叁拾肆万柒仟捌佰圆整。

CNMONEY(3.4567,"y")等于叁亿肆仟伍佰陆拾柒万圆整。


  • 张毅 张毅(提问者) 这个不行,会四舍五入,而且我的小数点有后4位
    2020-09-11 15:01 
  • yiyemeiying yiyemeiying 回复 张毅(提问者) -_-||圆角分的后面还要继续?
    2020-09-11 15:03 
最佳回答
0
LarryAbbyLv5中级互助
发布于2020-9-11 15:05(编辑于 2020-9-11 15:09)
最佳回答
0
ColdmanLv6高级互助
发布于2020-9-11 15:22
left(cnmoney(indexofarray(split("13.2367", "\\."), 1)), len(cnmoney(indexofarray(split("13.2367", "\\."), 1))) - 2) + "点" + left(replace(replace(replace(cnmoney(indexofarray(split("13.2367", "\\."), 2)), "仟", ""), "佰", ""), "拾", ""), 4)


  • 5关注人数
  • 898浏览人数
  • 最后回答于:2020-9-11 15:22
    请选择关闭问题的原因
    确定 取消
    返回顶部