python中怎样输入一个包含小数的小写金额(整数部分不超过7位),将其转换为汉字大写金额,最后输出结果?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中怎样输入一个包含小数的小写金额(整数部分不超过7位),将其转换为汉字大写金额,最后输出结果?相关的知识,希望对你有一定的参考价值。
参考技术A先创建一个群数字对应汉字大写的枚举,对应枚举取值就行了。
321.321的例子
参考技术Bdef 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位),将其转换为汉字大写金额,最后输出结果?的主要内容,如果未能解决你的问题,请参考以下文章