将十进制美元金额从字符串转换为缩放整数
“35.28”存储为 char*
。我需要把它变成一个整数(35280)。
我想避免浮动。我该怎么做?
"35.28" is stored as a char*
. I need to turn it into an integer (35280).
I want to avoid floats. How can I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
最小基本代码:
输出:
在线演示: http://ideone.com/apRNP
这就是基本思想。您可以对上面的代码进行修改,使其更加灵活,以便它也可以用于其他数字。
编辑:
这是一种灵活的解决方案:
测试代码:
输出:
在线演示:http://ideone.com/uCujP
Minimal basic code:
Output:
Online demo : http://ideone.com/apRNP
That is the basic idea. You can work on the above code to make it more flexible so that it can be used for other numbers as well.
EDIT:
Here is one flexible solution:
Test code:
Output:
Online Demo : http://ideone.com/uCujP
从字符串中删除点字符并将其直接转换为int
Remove dot char from string and convert it directly to int
您的意思是存储为字符串(
char*
)吗?然后你可以创建你自己的解析器:Do you mean stored as a string (
char*
)? Then you can create your own parser:从字符中删除点,然后
最简单但不是最好的使用atoi
参见我的回答此处,了解其他可能的方法。
Remove the dot from the char and then
Simplest but not the best use atoi
See my answer here, for other possible ways.
正如 Als 所说,使用 atoi,但稍作改动,去掉句点字符串并使用 atoi 将结果转换为 int。
As Als sais, use atoi, but with a twist, strip the string of the period and convert the result into int using atoi.