保留小数位并舍弃无效零

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值