読者です 読者をやめる 読者になる 読者になる

素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

数字にコンマを振る

python

一応出来たには出来たのだけど、すごく格好が悪い。

JavaScriptの感覚でstr(num).split("")ってすると、ValueError: empty separator。
list(str(num))だと平気。なんでだろう。

def toCommaStr(num):
  nums = list(str(num))
  sz = len(nums)
  ret = nums[:sz % 3]
  if sz % 3 and sz > 3:
    ret.append(",")
  for i in range(sz % 3, sz , 3):
    ret.extend(nums[i:i+3])
    if i < sz - 3:
      ret.append(",")
  numstr = ""
  for i in iter(ret):
    numstr += i
  return numstr

toCommaStr(1234567890) # '1,234,567,890'