【问题标题】:Format String to truncate a number to a specific number of digits格式化字符串以将数字截断为特定位数
【发布时间】:2012-06-13 01:47:24
【问题描述】:

是否有将数字截断为特定位数的格式字符串? 例如,任何大于 5 位的数字我都想截断为 3 位。

132456 -> 132
5000000 -> 500

@Erik : 像 %2d 这样的格式说明符是特定于一种语言的吗?我实际上想在 javascript 中使用它

【问题讨论】:

  • 可能。首先,您应该告诉我们您正在使用的语言。对于所有编程语言,String 类并不相同(如果有的话)。

标签: truncate digits format-string


【解决方案1】:

伪代码

Function returning a String, receiving a String representing a Number as a parameter
    IF the String has more than 5 characters
        RETURN a substring containing the first 3 characters.
    ELSE
        RETURN the string received as a parameter
    END IF
END Function

【讨论】:

  • 我正在寻找格式字符串,而不是截断位数的代码。看起来它不存在?
  • 对不起。我以前从未听说过什么是“格式字符串”。请忽略这个答案。
【解决方案2】:

我假设您指的是printf 格式字符串。我找不到任何会截断整数参数的东西(即%d)。但是您可以通过引用字符串格式字符串并通过"%<MinLength>.<MaxLength>s" 指定长度来指定字符串的最大长度。 因此,在您的情况下,您可以将数字参数转换为字符串,然后使用 "%3.3s"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-09
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    相关资源
    最近更新 更多