使用%d的负浮点数的printf

引擎

我正在尝试使用该printf函数来给出我只能使用的float变量的值%d,这是我到目前为止所做的:

.............................
float var =0.0;
// the value will set from another function 
var *= 100000;
printf("X[%d.%04d] \n",(int)(var / 100000),((int)var)%100000));
...............

这对于浮点数为正值可以正常工作,但是当我得到负数时,它将如何显示:

赞成:-0.4578 -> 0.-4578
您可以说标志不在正确的位置,我的问题是是否有一种方法可以不使用例如:switch casestatemente或类似的东西?提前致谢 !

谢尔盖·卡里尼琴科(Sergey Kalinichenko)

您可以通过对正负数字使用不同的格式字符串来做到这一点:

char *format;
int v = var * 100000;
if (v < 0) {
    format = "X[-%d.%04d] \n";
    v = -v;
} else {
    format = "X[%d.%04d] \n";
}
printf(format, v/100000, v%100000);

这种方法v在中始终是正号printf,并且符号会嵌入到您传递的格式字符串中。仅使用%d格式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用双浮点数?

来自分类Dev

Python浮点数和正确使用

来自分类Dev

负浮点数未使用awk或sort正确排序

来自分类Dev

如何使用清除浮点数?

来自分类Dev

使用%d打印浮点数

来自分类Dev

使用kohana路线的正则表达式负浮点数

来自分类Dev

带有负浮点数的字符串要浮点数?

来自分类Dev

printf浮点数,尾随零为变量

来自分类Dev

使用awk减去浮点数

来自分类Dev

浮点数的C printf格式

来自分类Dev

printf传递给变量的精度为浮点数(小数位数)的浮点数

来自分类Dev

如何使用printf打印单精度浮点数

来自分类Dev

比较D中的浮点数

来自分类Dev

从std :: fstream读取浮点数将返回负零

来自分类Dev

浮点数获取错误的printf输出

来自分类Dev

负浮点数的日期

来自分类Dev

浮点数打印出负0在C

来自分类Dev

使用kohana路线的正则表达式负浮点数

来自分类Dev

Math.ceil无法使用负浮点数

来自分类Dev

将负浮点数四舍五入为浮点数

来自分类Dev

printf浮点数,尾随零的数量为变量

来自分类Dev

为什么浮点数打印为负零?

来自分类Dev

从字符串中提取正/负浮点数

来自分类Dev

在gcc中使用printf控制浮点数的指数位

来自分类Dev

使用printf以不同的精度打印浮点数

来自分类Dev

如何在C中存储负浮点数

来自分类Dev

如何设置 InputType 以显示 inputTypeEditText 的负浮点数

来自分类Dev

python 龟转到不允许负浮点数

来自分类Dev

如何提取此表达式中使用的负/正浮点数/整数和数学符号?