美文网首页AAU
文本的转换

文本的转换

作者: MarkRight | 来源:发表于2015-10-27 18:36 被阅读63次

    问题

    如何理解aau中文本与数字的转换,如何方便的转换,应该注意些什么?


    探索

    aau类似JavaScript,属于弱类型语言,文本在很多时候可能会自动的进行转换,例如

     import console
    console.log(123+"456")
    console.pause()
    // out : 123456
    

    123在此刻默认转换为了string,然后与string拼接。
    下面的代码也是等效的

    console.log(123++"456")
     // out : 123456
    

    规则是:
    +在文本对象下是字符串的拼接,在数字情况下是数的加法;
    ++操作符是对对象进行字符串的拼接,
    下面这个例子可以对比,加深印象:

    import console
    console.log(type(123++456),123++456) 
    console.log(type(123+456),123+456)
    
    console.log(type(123+456++7),123+456++7)
    console.log(type(123++456+7),123++456+7)
    
    console.pause()
    
    Paste_Image.png

    请注意观察区别:
    可见,请不要混合使用,及其容易产生意想不到的结果,在纯数字情况下,后面的数是进行加法计算后,再与string连接的。


    讨论

    • 显示的转换数据:aardio提供三个强制转换动态类型的函数

    tostring(v) 转换参数v为字符串,可使用_tostring元方法自定义转换函数。
    tonumber(v) 转换参数v为数值,可使用_tonumber元方法自定义转换函数。
    topointer(v) 转换参数v为指针,可使用_topointer元方法自定义转换函数。

    • 使用++操作符号,强行将number转换为string
    import console; 
    a=10
    console.varDump(tostring(a))       //显示转换
    console.varDump(a++"")             //num转str
     console.pause()
    

    相关文章

      网友评论

        本文标题:文本的转换

        本文链接:https://www.haomeiwen.com/subject/ypexhttx.html