関数CKatof マニュアル

(The documentation of function CKatof)

Last Update: 2021/12/20


◆機能・用途(Purpose)

関数atof(文字列から実数への変換)をエラーチェック付きで実行する。
Call function atof (conversion of a string to a real number) with error checks.


◆形式(Format)

#include <functions_with_errcheck.h>
inline double CKatof(const char ∗ss)


◆引数(Arguments)

ss 変換したい文字列。
The string to be converted.


◆戻り値とエラーチェック (Return value and error checks)

下表で桃色のセルがエラー処理を表す。
The pick colored cells in the table below represent error checks.

条件
Condition
戻り値/動作
Return value or behaviour of the function
引数ssが下記の「引数ssの許容される条件」を満たしている場合
The argument ss meets the requirements below.
ssが表す実数。 例えばss="1.23"であれば戻り値は1.23となる。
A real number indicated by ss. For example, if ss="1.23”, then the return value is 1.23.
引数ssが下記の「引数ssの許容される条件」を満たしていない場合
The argument ss does not meet the requirements below.
プログラムをエラー終了する。
The program finishes as an error.


引数ssの許容される条件 (Requirements for argument ss)
1文字目として許される文字
Allowed characters for the 1st character
  ′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′, ′-′
2文字目として許される文字
Allowed characters for the 2nd character
1文字目が′0′の場合
In cases where the 1st character is ′0′
′.′, ′e′, ′E′, ′\0′
1文字目が′-′の場合
In cases where the 1st character is ′-′
′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′
上記以外の場合
In the other cases
′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′, ′.′, ′e′, ′E′, ′\0′
3文字目として許される文字
Allowed characters for the 3rd character
2文字目が′.′の場合
In cases where the 2nd character is ′.′
′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′
2文字目が′e′ または′E′の場合
In cases where the 2nd character is ′e′ or ′E′
′+′, ′-′, ′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′
1文字目が′-′、 2文字目が′0′の場合
In cases where the 1st character is ′-′ and the 2nd character is ′0′
′.′
上記以外の場合
In the other cases
′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′, ′.′, ′e′, ′E′, ′\0′
4文字目以降に許される文字
Allowed characters for the 4th and later characters
直前の文字が′.′の場合
In cases where the immediately previous character is ′.′
′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′
直前の文字が′e′ または′E′の場合
In cases where the immediately previous character is ′e′ or ′E′
′+′, ′-′, ′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′
直前の文字が′+′ または′-′の場合
In cases where the immediately previous character is ′+′ or ′-′
′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′
上記以外でその文字よりも前に ′e′または ′E′が存在する場合
In cases where ′e′ or ′E′ exists before the character, except for the cases described earlier
′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′, ′\0′
上記以外でその文字よりも前に ′.′が存在する場合
In cases where ′.′ exists before the character, except for the cases described earlier
′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′, ′e′, ′E′, ′\0′
上記以外の場合
In the other cases
′0′, ′1′, ′2′, ′3′, ′4′, ′5′, ′6′, ′7′, ′8′, ′9′, ′.′, ′e′, ′E′, ′\0′


◆使用例(Example)

double value=CKatof("1.23");