erlang小技巧-持续更新

by kevin 5. 十二月 2012 00:22 >
  1. 将浮点数转换成固定小数位字符串,不使用float_to_list,使用io_lib:format("~.2f",[F])。io_lib:format的返回只是[string()]。
  2. lists:flatten(io_lib:format(Pattern, Args)),实现string_format功能。
  3. 生成随机数时,使用当前的timestamp作为种子,避免每个进程重开后生成的随机数是一样的。
  4. erlang上要进行日期运算,使用edate
  5. 日期格式化利器erlydtl项目中的dateformat
  6. 小数取整通过trunc实现
floor(X) ->
    T = erlang:trunc(X),
    case (X - T) of
        Neg when Neg < 0 -> T - 1;
        Pos when Pos > 0 -> T;
        _ -> T
    end.

ceiling(X) ->
    T = erlang:trunc(X),
    case (X - T) of
        Neg when Neg < 0 -> T;
        Pos when Pos > 0 -> T + 1;
        _ -> T
    end.
 
分享到: 更多