zoukankan      html  css  js  c++  java
  • [Swift]库函数atoi:将字符串内容转换为整数

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ 
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10127628.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    1、如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 ) 字符时停止转换,返回Int32整形数。否则,返回0。

    1 //返回Int32位整形
    2 print(atoi("123456"))
    3 //Print 123456
    4 print(atoi("-123456"))
    5 //Print -123456
    6 print(atoi("123456789"))
    7 //Print 1234567
    8 print(atoi("strengthen"))
    9 //Print 0

    2、在找到第一个非空字符之前,需要移除掉字符串中的空格字符。

    (1)如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。

    (2)如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。

    1 print(atoi("    -123456"))
    2 //Print -123456
    3 //注意此情况返回0
    4 print(atoi("  -   123456"))
    5 //Print 0
    6 //截止转换字符 '6' ,其下一个字符不为数字。
    7 print(atoi("    -123456abcd"))
    8 //Print -123456

    3、字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。

    1 print(atoi(" 123456 abcd"))
    2 //Print 123456

    4、当字符串中的第一个非空字符序列不是个有效的整数;或字符串为空;或字符串仅包含空白字符时,则不进行转换。若函数不能执行有效的转换,返回 0。

    1 print(atoi("strengthen"))
    2 //Print 0

    5、32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。如果数值超过可表示的范围,则转换数值会不正确。

    1 //超过Int32所表示的整数范围。 2^31=2147483648
    2 print(atoi("2147483647"))
    3 //Print 2147483647
    4 print(atoi("2147483648"))
    5 //Print -2147483648
    6 print(atoi("2187483649"))
    7 //Print -2107483647
  • 相关阅读:
    HTTP状态码详解
    phpcms v9调用多个栏目下文章的方法
    纯CSS3制作学生入学档案表单样式代码
    phpcmsv9 标题颜色显示问题
    Excel中利用IF和TIME函数计算出上下班状态!
    excel if判断时间段早晚班
    PHPCMS列表页伪静态
    EXCEL IF 函数 模糊查询
    如何用js实现截取一个字符串中的数字
    Elasticsearch学习之基本核心概念
  • 原文地址:https://www.cnblogs.com/strengthen/p/10127628.html
Copyright © 2011-2022 走看看