CPP版本
#include <iostream>
#include <cstring>
#include <sstream>
using namespace std;
int main()
{
char szValue[128] = {0};
int iMoney = 200100;
std::ostringstream oss;
sprintf(szValue, "%.2f", (float)iMoney / 10000.f);
istringstream iss(szValue);
float num;
iss >> num;
oss << num;
sprintf(szValue, "%sW", oss.str().c_str());
cout << szValue;
return 0;
}
输出
20.01W
LUA版本
function Tool:ConvertMoneyStr( iNum )
function GetRetNum( iNum )
local t1, t2 = math.modf(iNum)
if t2 > 0 then
return iNum
else
return t1
end
end
if iNum>=10000 then
-- return GetRetNum(tonumber(string.format("%0.2f", math.floor(iNum/100)/100))) .. "W" -- 向下舍去尾数
return GetRetNum(tonumber(string.format("%0.2f", iNum/10000))) .. "W"
end
return iNum
end
输出
20.01W