数値を書式化する
over view
数値を3桁ずつに半角コンマで区切り、接頭語と接尾語を付記して返すユーザ関数
string uuNumberFormat(string prefix, integer num, string suffix);
- string prefix … 接頭語
- integer num … 数値
- string suffix … 接尾語
examples
- 金額や高度など、単位を前後につけて返す。
uuNumberFormat("L$", 19800, "-"); // -> L$19,800- uuNumberFormat("", 1024, "m"); // -> 1,024m
- integer 型が返る関数と連携させると用途の幅が広がる。
uuNumberFormat("Memory: ", llGetFreeMemory(), " bytes free");
code
// Number Format :: 2008-09-20 string uuNumberFormat(string prefix, integer num, string suffix){ string temp_num = (string)num; integer place = llStringLength(temp_num); integer times = (integer)(place / 3); integer head = place % 3; if (!head){ head = 3; times --; } integer i; for (i=0; i<times; i++){ if (i == times && head != 3){ temp_num = llInsertString(temp_num, head, ","); }else{ temp_num = llInsertString(temp_num, head + 3 * i + i, ","); } } return prefix + temp_num + suffix; }