作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个应用程序来显示你走了多少英里,我希望它有 3 位小数。例如“0.435 英里”。我试过下面的代码:
static char stopwatch_miles[50];
snprintf(stopwatch_miles, sizeof(stopwatch_miles), "%.3f miles", num_miles);
text_layer_set_text(miles_layer, stopwatch_miles);
num_miles
是计算的浮点变量。但是,Pebble 在 1.13 中反对在 snprintf
中使用 float 。有简单的解决方法吗?也许使用 int
,在我的数学之前将它乘以 1000 并在格式中添加小数位?
最佳答案
您可以尝试将“num_miles”乘以 1000,将其转换为整数,然后将它们显示为常规 int 值
snprintf(stopwatch_miles, sizeof(int), "%d.%d miles", (int)num_miles, (int)(num_miles*1000)%1000);
编辑:Manül 温和地提醒我,第二个 %d 应该是 %03d 而不是前一个答案。该行应该是:
snprintf(stopwatch_miles, sizeof(stopwatch_miles), "%d.%03d miles", (int)num_miles, (int)(num_miles*1000)%1000);
关于c - 如何在 Pebble 上显示 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188325/
我是一名优秀的程序员,十分优秀!