【问题标题】:How to convert a floating point number into a string with precision? Arduino C++如何将浮点数转换为精确的字符串? Arduino C++
【发布时间】:2020-12-29 09:35:09
【问题描述】:

我有一个类似3.14159 的号码,我希望它是3.1

由于某种原因,Arduino 对图书馆很挑剔。目前我无法使用string 库。

【问题讨论】:

    标签: c++ arduino floating-point precision arduino-c++


    【解决方案1】:

    默认情况下,sprintf 在标准 Arduino 环境中不支持浮点数,因此 avr-gcc 附带了 dtostrf(),它可以满足您的需求。 Sample usage here

    【讨论】:

      【解决方案2】:

      我最终找到了一个很棒的解决方案。原来Arduino有一个方法!这只是String() 方法。所以为了转换3.14159,只需输入⤵︎

      float num = 3.14159
      String str1 = String(num, 1) // 3.1
      String str2 = String(num, 2) // 3.14
      String str3 = String(num, 3) // 3.141
      

      所以逗号右边是小数位参数。它有很多功能,但这是重载之一。你可以看到他们all here!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-09-28
        • 1970-01-01
        • 1970-01-01
        • 2011-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多