linux 字符串转换成int64,int64相互转换字符串

itoa 不支持64位整数的转换,我们可以吧大整数拆为2段来包装itoa

string Utils::ull_to_string(unsigned long long _num)

{

const unsigned long long _div = 10000000;

unsigned long long upper_part = _num / _div;

unsigned long long lower_part = _num - upper_part * _div;

char buf[100];

memset(buf, 0, sizeof (char)* 100);

itoa((int)upper_part, buf, 10);

string ret = buf;

memset(buf, 0, sizeof (char)* 100);

itoa((int)lower_part, buf, 10);

ret.append(buf);

while (ret[0] == '0')

{

ret = ret.substr(1, -1);

}

return ret;

}

int64转换为string

unsigned long long Utils::string_to_ull(const string num)

{

unsigned long long _file_size = 0;

unsigned long long des = 1;

for (int i = num.size() - 1;

i >= 0; i--, des *= 10)

{

_file_size += des*(num[i] - '0');

}

return _file_size;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值