社区
C++ 语言
帖子详情
对Floating-Point Functions 了解的来看看
code_cold
2008-05-27 11:42:34
如何按保留小数点后指定几位修整一个float,比如
float XXfunc(float)
{
return XX;// 只保留小数点后5位
}
float f = 3254.1234;
XXfunc(f) == 3254.123; // 只保留小数点后3位
...全文
171
7
打赏
收藏
对Floating-Point Functions 了解的来看看
如何按保留小数点后指定几位修整一个float,比如 float XXfunc(float) { return XX;// 只保留小数点后5位 } float f = 3254.1234; XXfunc(f) == 3254.123; // 只保留小数点后3位
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kuchao
2008-05-28
打赏
举报
回复
哦 如果要3254.1234做出来是3254.1230,XXFunc里面应该是
sprintf(toStr, "%7.3f", fNumber);
kuchao
2008-05-28
打赏
举报
回复
float小数点后精度是靠语言约定的。
我怀疑你可能想表达这样的想法
int XXFunc(float fNumber, char* toStr)
{
return sprintf(toStr, "%5.3f", fNumber);
}
int XXXFunc(const char* toStr, float& fNumber)
{
fNumber = atof(toStr);
return 0;
}
然后
char toStr[256];
float f1 = 3254.1234;
float ff1;
XXFunc(f1, toStr);
XXXFunc(toStr, ff1);
但是,这样ff1也只能是3254.1230
code_cold
2008-05-28
打赏
举报
回复
[Quote=引用 3 楼 arong1234 的回复:]
float的本质决定如果你用上面函数原型绝对无法实现。如果你认为你找到了方法,那么你的判断方法一定出了问题
[/Quote]
// 只保留小数点后3位
float XXX(float f)
{
char str[256];
sprintf(str, "%.3f", f);
return atof(str);
}
arong1234
2008-05-28
打赏
举报
回复
float的本质决定如果你用上面函数原型绝对无法实现。如果你认为你找到了方法,那么你的判断方法一定出了问题
code_cold
2008-05-28
打赏
举报
回复
如何 按保留小数点后 指定几位 修整一个float,比如
float XXfunc(float)
{
return XX;// 只保留小数点后3位
}
例如
XXfunc(3254.1234) == 3254.123; // 只保留小数点后3位
XXfunc(0.123467) == 0.123; // 只保留小数点后3位
XXfunc(3856.12) == 3856.12; // 只保留小数点后3位
是有办法能实现XXfunc的,只是我的办法太笨拙了,感觉C/C++可能有这个功能
code_cold
2008-05-28
打赏
举报
回复
你的意思我了解了,怪我没表达清楚
其实我只是要求小数点后保留的几位有效数一致就可以了,就是说3254.1230,3254.123都可以
这当然是个办法,可效率太低了
arong1234
2008-05-27
打赏
举报
回复
No way. C/C++的语言中不可能精确保留5位有效数字。
ABAP 的 decimal
floating
point
rounding
function
s 介绍
本文深入解析ABAP的decimal
floating
point
舍入函数DECIMALS_ROUNDING和PRECISION_ROUNDING,涵盖其在电商含税金额计算、网关消息聚合及单元测试数据生成等场景的应用,强调REDUCE操作符在状态维护与表达式简化中的优势。
20.4
Floating
-
Point
Number Classification
Function
s
本文介绍了ISO C99标准定义的宏,用于判断浮点数变量的类型。这些宏包括测试多个属性的通用宏和针对特定属性的快速宏。推荐使用ISO C99宏以保证代码的广泛适用性和效率。此外,还提到了BSD提供的浮点数分类函数,但建议在新代码中使用ISO C99标准宏。
Floating
-
point
manipulation
function
s 浮点处理功能
本文介绍了几个重要的数学函数,包括copysign函数如何复制符号、nextafter和nexttoward函数如何找到浮点数序列中的相邻数值,以及对NaN的概念进行了说明。
An Independent Analysis Altera’s FPGA
Floating
-
point
DSP Design Flow
Altera开发了一种新的浮点设计流程,旨在简化Altera FPGA上浮点数字信号处理算法的实现过程,并使其达到更高的性能和效率。该流程通过生成融合的数据路径来消除传统FPGA设计中的冗余,采用高级模型化的设计流程,利用Altera的DSPBuilder Advanced Blockset和MATLAB及Simulink工具。BDTI进行了独立评估,验证了此设计流程的有效性和易用性。
error: non-
floating
-
point
argument in call to
function
‘__builtin_isnan’
博客讲述了使用gcc编译liquid库时遇到报错问题,通过对源码进行修改,进行类型的强转操作后,编译得以通过。
C++ 语言
65,211
社区成员
250,515
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章