V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
gangsta
V2EX  ›  问与答

JavaScript : Convert int to String

  •  
  •   gangsta · 2014-04-09 09:50:50 +08:00 · 2776 次点击
    这是一个创建于 3886 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://stackoverflow.com/q/22932528/1299675

    哪位js大神帮忙解答下,谢谢~~~
    9 条回复    1970-01-01 08:00:00 +08:00
    lizheming
        1
    lizheming  
       2014-04-09 09:56:02 +08:00
    你自己在控制台console.log(0000000)一下看下是什么结果,我可不记得有0000000这么一个数字....
    sneezry
        2
    sneezry  
       2014-04-09 09:56:44 +08:00
    我觉得只能从getFromDatabase下手了,一旦return了000000,接收到这个结果的外部代码是无论如何也无法得知原来的位数的,因为在getFromDatabase函数return之前JS已经把000000变成了0。
    jsonline
        3
    jsonline  
       2014-04-09 09:58:38 +08:00 via Android
    那不不是 int 也不是string,让数据库的维护者改掉它。
    jakwings
        4
    jakwings  
       2014-04-09 09:59:57 +08:00
    这个转换的意义不明……问题都没问好。
    假如返回的数字输出时固定要 6 位数,前面补 0 不就行了。假如只是在返回 0 时要 '000000' ,做个判断就好。
    sneezry
        5
    sneezry  
       2014-04-09 10:02:36 +08:00
    000000在JS中保存成0x00000000,32-bit。'000000'在JS中保存成0x003000300030003000300030,96-bit。一旦数据类型定下来了,你自己还能分出数字0的“位数”吗?
    arron
        6
    arron  
       2014-04-09 10:03:06 +08:00
    访问数据库用的什么lib ? 这个只能从那个lib解析数据库返回结果的地方去修改。
    gangsta
        7
    gangsta  
    OP
       2014-04-09 10:03:09 +08:00
    @sneezry 你说的没错,000000走出方法外已经变成0了.

    我后来想了下,这个问题提的不太好,因为通常情况下,int > String,toString()或者加一个空字符串就可以满足了.
    但000000太特殊了,这个结果也确实是我们从数据库里得到的
    如果我提问000000怎么转换成"000000",实际上是0怎么转换成"000000"...
    sneezry
        8
    sneezry  
       2014-04-09 10:05:03 +08:00
    @gangsta 那这方法就太多了,最简单的就是先转成字符串,0->'0',然后判断转换后的位数,string.length,然后少多少就在前面补多少个'0'。
    zhigang1992
        9
    zhigang1992  
       2014-04-09 21:40:42 +08:00
    ("000000"+number).substr(-6)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3326 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:26 · PVG 20:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.