atoi

Last-modified: 2015-09-14 (月) 21:56:50

分類

数学関連命令
文字列関連命令

使用可能節

  • 定義節?
  • 実行節?

機能

文字列を数値に変換する。

書式

atoi (数値変数?1),(文字列?1)

解説

  • (文字列1)を数字に見立てて解釈し、その結果できた数値を(数値変数1)に格納する。
  • 数字に見立てるのは、半角数字とドット、先頭のプラスとマイナスのみである。それら以外の文字やスペースは無視される。よって、全角数字などは数字にはならない。
  • 正規表現になおすと、/([\+\-]*[0-9]*[\.]*[0-9]*)/に該当する最初の部分を数値と見立てる。
  • (文字列1)に小数点を意味するドットがあってもエラーにはならないが、数値に変換した際には切り捨てられる。数値がマイナスであっても、単純に小数点以下を取っ払う形になる。
  • (文字列1)を解釈した結果、それが2,147,483,647を超えてしまうと、自動的に2,147,483,647まで引き下げられる。
  • (文字列1)を解釈した結果、それが-2,147,483,648を下回ると、自動的に-2,147,483,648まで引き上げられる。

運用

詳細

  • 内部的にANSIC++のatoiを使用しているので、数字以外の文字列があった場合の処理などはそれに準じる。
  • そこからさらに小数点以下の切り捨て処理と、範囲に収まるように削る処理が加わる。

関連

代替