ホームページ > バックエンド開発 > Python チュートリアル > RMB を大文字に変換する Python スクリプト コード

RMB を大文字に変換する Python スクリプト コード

WBOY
リリース: 2016-06-16 08:46:45
オリジナル
1732 人が閲覧しました
コードをコピー コードは次のとおりです:

def Num2MoneyFormat(change_number ):
"""
. 数値を変換します通貨を大文字に変換 形式 (format_word.__len__() - 小数点以下 3 + 2 桁)
change_number は float、int、long、string をサポートします
"""
format_word = ["fen", "jiao", "元"、
千","万",
"し","百","千","兆"]

format_num = ["ゼロ","一", "二","三" ,"四","五","鲁","旒","捌","玖"]
if type(change_number ) == str:
# - Ifこれは文字列です。最初に Cheng Float または Int に変換してみてください。
if '.' In Change_number:
Try: Change_number = Float (Change_number)
例外: Raise Valueerror、'%s は実行できませんChange'%CHANGE_NUMB er Else:
for i in range( len( format_word ) - 3, -3, -1 ):
if change_number >= 10 ** i or i
real_numbers.append( int(round (change_number/( 10**i ), 2)%10 ) )

elif isinstance(change_number, (int, long) ):
real_numbers = [ int( i ) for i in str(change_number ) + '00' ]

else:
raise ValueError, '%s は変更できません'%change_number

zflag = 0 #連続 0 回マークして 10,000 単語を削除するか、適切なタイミングで 0 単語を挿入します
start = len(real_numbers) - 3
change_words = []
for i in range(start, -3, -1): #i を実際の桁数に対応させ、負の数値は角度 Points
if 0 <> real_numbers[start-i] or len(change_words) == 0:
zflag:
change_words.append(format_num [0])
zflag = 0
使用を使用して使用してdflag&lt; > if change_words[-1] not in (format_word[0], format_word[1]):
# - 最後の 2 桁が「角度、分」でない場合は、「整数」を追加します
change_words.append( "全体")

return ''.join(change_words)




Python は金額を小文字から大文字 2 に変換します

10 兆元未満の小文字の金額を大文字に変換する関数



コードをコピー

コードは次のとおりです:

def IIf( b, s1, s2):
if b:
return s1
else:
return s2
def num2chn(nin=None):
cs =
('ゼロ','一','二','三','四','五','ルー','チー','八','九','◇' 、'フェン'、'角度'、'元'、'市'、'百'、'銭'、
'万'、'市'、'百'、'銭'、'億'、 'shi ','hundred','qian','wan')
st = ''; st1=''
s = '%0.2f' % (nin)
sln =len(s) )
if sln >; 15: return None
fg = (nin for i in range(0, sln-3):
ns = ord(s[sln-i -4 ]) - ord('0')
st=IIf((ns==0)and(fg or (i==8)or(i==4)or(i==0)), '' , cs[ns])
+ IIf((ns==0)and((i<>8)and(i<>4)and(i<>0)or fg
and(i==0)),'', cs[i+13])
for i in [1 ,2]:
ns = ord(s[sln-i]) - ord ('0')
st1 = IIf((ns==0)and((i==1)or(i= =2)and(fg or (nin + IIf((ns>;0), cs[i+10], IIf((i==2 ) or fg, '', 'whole'))
+ st1
fg = (ns==0)
st.replace('billion','million')
return IIf( nin==0, 'zero', st + st1)
if __name__ == ' __main__':
num = 12340.1
print num
print num2chn(num)


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート