python中怎样输入一个包含小数的小写金额(整数部分不超过7位),将其转换为汉字大写金额,最后输出结果?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中怎样输入一个包含小数的小写金额(整数部分不超过7位),将其转换为汉字大写金额,最后输出结果?相关的知识,希望对你有一定的参考价值。

参考技术A

先创建一个群数字对应汉字大写的枚举,对应枚举取值就行了。

321.321的例子

参考技术B

def num_hanzi(num):

if abs(num)>=100000000:

return "请输入小于一亿的数"

num=int(num*100)#转成整数方便处理

hanzi=''

temp=["分","角","圆","十","百","千","万","十","百","千"]

for i in range(len(temp)):

if  (abs(num)%(10**(i+1)))//(10**i):#将不为零的数加上单位依次放入hanzi

hanzi= str((abs(num)%(10**(i+1)))//(10**i))+temp[i] +hanzi

continue

else:#上一位不为零此位为零且不是最后一位,则添加一个零

if (abs(num)%(10**(i+2)))//(10**(i+1)) and hanzi!="":

hanzi= '0'+hanzi

if num<0:

hanzi='负'+hanzi

if not num%10 :

hanzi= hanzi +"整" 

temp2=["零","壹","贰","叁",'肆',"伍","陆","柒","捌","玖"]

for i in range(10):

hanzi=hanzi.replace(str(i),temp2[i])

return hanzi

print(num_hanzi(-30031013.11))

js怎么判断输入的金额只能是小数点前10位,小数点后两位

可以不用输入小数点后面的:
<input type="text" onchange="if(!/^\d1,10(\.\d1,2)?$/.test(this.value))alert('输入错误')" />

必须要写2位小数点:
<input type="text" onchange="if(!/^\d1,10\.\d2?$/.test(this.value))alert('输入错误')" />
参考技术A 可以不用输入小数点后面的:
<input
type="text"
onchange="if(!/^\d1,10(\.\d1,2)?$/.test(this.value))alert('输入错误')"
/>
必须要写2位小数点:
<input
type="text"
onchange="if(!/^\d1,10\.\d2?$/.test(this.value))alert('输入错误')"
/>
参考技术B 正则:
var reg = /^\d1,10(\.\d1,2)?$/;
if(reg.test("123.3453"))
alert("错误");
参考技术C 正则表达式?

以上是关于python中怎样输入一个包含小数的小写金额(整数部分不超过7位),将其转换为汉字大写金额,最后输出结果?的主要内容,如果未能解决你的问题,请参考以下文章

python - 判断是否为正小数和正整数

ios金额输入小数点等问题

BPM实例分享——金额规则大写

js怎么判断输入的金额只能是小数点前10位,小数点后两位

在WORD中怎样用VBA将人民币大写金额转换成小写金额

金额小写转中文大写类