社区
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位
...全文
175
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的REDUCE和CL_DEMO_OUTPUT复刻ROUND与RESCALE函数文档中的示例表格。通过将循环逻辑压缩为表达式,配合CL_ABAP_MATH获取数值的scale和precision,实现了文档示例的完整重现。文章重点解析了REDUCE操作符的INIT-FOR-NEXT组合用法,以及VALUE #(BASE tab...)在表构造中的精妙应用,展示了ABAP表达式编程的优雅实践。这种方法不仅适用于本地演示,也可用于ABAP Cloud环境的数据验证与测试可视化。
20.4
Floating
-
Point
Number Classification
Function
s
20.4
Floating
-
Point
Number Classification
Function
s
ISO C99 defines macros that let you determine what sort of
floating
-
point
number a variable holds. — Macro: int fpclassify (float-type x)
This is a generic macro which works on all floatin
Floating
-
point
manipulation
function
s 浮点处理功能
copysign 返回由x的绝对值和y的符号组成的值。 /* copysign example */ #include /* printf */ #include /* copysign */ int main () { printf ("copysign ( 10.0,-1.0) = %f\n", copysign( 10.0,-1.0));
An Independent Analysis Altera’s FPGA
Floating
-
point
DSP Design Flow
原文链接:http://www.altera.com.cn/literature/wp/wp-01166-bdti-altera-
floating
-
point
-dsp.pdf 后续按照文章测试方法,做一个Xilinx DSP架构FPGA对比测试,就更有意义了。 不过记住:人脑
error: non-
floating
-
point
argument in call to
function
‘__builtin_isnan’
gcc 编译liquid库报错 将源码修改,进行类型的强转,编译通过。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章