プログラミングのお題 ..
[2ch|▼Menu]
714:デフォルトの名無しさん
15/09/01 10:34:27.90 2zAmQ8cX.net
>>665 Squeak Smalltalk (日本語版 URLリンク(osdn.jp))
| fn |
fn := [:n :m |
 | out units |
 self assert: (n isInteger and: [n > 0] and: [n < 1e20]).
 units := #('' 万 億 兆 京) readStream.
 out := OrderedCollection new.
 [n = 0 or: [units atEnd]] whileFalse: [
  | val unit |
  val := n \\ 1e4. n := n // 1e4.
  unit := units next.
  ((m := m - 1) < 0 and: [val ~= 0]) ifTrue: [out addFirst: val asStringWithCommas, unit]].
 out concatenation as: String
].
fn value: 123422343234 value: 0. "=> '1,234億2,234万3,234' "
fn value: 123422343234 value: 1. "=> '1,234億2,234万' "
fn value: 123422343234 value: 2. "=> '1,234億' "
fn value: 100000000000000039 value: 0. "=> '10京39' "


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

616日前に更新/308 KB
担当:undef