数値を書式化する

over view

数値を3桁ずつに半角コンマで区切り、接頭語と接尾語を付記して返すユーザ関数

string uuNumberFormat(string prefix, integer num, string suffix);
  • string prefix … 接頭語
  • integer num … 数値
  • string suffix … 接尾語

examples

  1. 金額や高度など、単位を前後につけて返す。
    uuNumberFormat("L$", 19800, "-");
    // -> L$19,800-
     
    uuNumberFormat("", 1024, "m");
    // -> 1,024m
  2. 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;
}
最終更新: 2010年11月25日 02 : 18 by arz Nitely
http://arzNitely.com/lsl/user_function/uunumberformat/index.html

Copyright 2007-2010 ©arzNitely.com all right reserved

www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0