【问题标题】:How do I convert a string to an integer in jsonnet?如何在 jsonnet 中将字符串转换为整数?
【发布时间】:2016-07-02 06:16:06
【问题描述】:

我有一个包含Jsonnet 变量中的数字的字符串。如何将其转换为整数?

【问题讨论】:

    标签: json jsonnet


    【解决方案1】:

    Jsonnet 的标准库提供了一个:std.parseInt(str) 函数,它可以从给定的输入字符串中解析一个带符号的十进制整数。 例如:

    std.parseInt("123") // yields 123
    std.parseInt("-456") // yields -456
    

    参考: http://jsonnet.org/docs/stdlib.html

    【讨论】:

      【解决方案2】:

      Jsonnet 标准库相当精简,但这里有一个执行此转换的 Jsonnet 函数示例。

      {
          string_to_int(s)::
              local char_to_int(c) = std.codepoint(c) - std.codepoint("0");
              local digits = std.map(char_to_int, std.stringChars(s));
              std.foldr(function(x,y) x+y,
                        std.makeArray(std.length(digits),
                                      function(x) digits[std.length(digits)-x-1]*std.pow(10, x)),
                        0),
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-13
        • 1970-01-01
        • 1970-01-01
        • 2022-01-09
        相关资源
        最近更新 更多