实现atof()函数原型:数字串转换成双精度浮点double
2012-05-10 08:37
267 查看
#include <iostream> using namespace std; const char NULL_TERMINATED = '\0'; const char POINT = '.'; const int ONE = 1; //const int ZERO = 0; const int TEN = 10; const int CHAR_MORE_THAN_INT = '0' - 0; const double ZERO_DOUBLE = 0.0; const double ONE_DOUBLE = 1.0; const double POINT_ONE = 0.1; //2009.07.21 22:36 double my_atof( char *str ) { if (NULL == str) { throw; } else { char *const address = str; while ( POINT != *(str + ONE) && NULL_TERMINATED != *(str + ONE)) { ++str; } char *const pointPrev = str; double temp = ONE_DOUBLE; double count = ZERO_DOUBLE; while ((address - ONE) != str) { count += (double)(*str - CHAR_MORE_THAN_INT) * temp; temp *= TEN; --str; } ///////////////////////再转换小数部分 if (NULL_TERMINATED != *(pointPrev + ONE + ONE)) { str = pointPrev + ONE + ONE; double tempPoint = POINT_ONE; while (NULL_TERMINATED != *str) { count += (double)(*str - CHAR_MORE_THAN_INT) * tempPoint; tempPoint *= POINT_ONE; ++str; } } return count; } } int main( void ) { char str[] = "1.23456789"; cout << my_atof( str ) << endl; double val = 1.23456789; cout << val << endl; system( "PAUSE" ); return EXIT_SUCCESS; } /*============= 1.23457 1.23457 请按任意键继续. . . ===================*/
相关文章推荐
- 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数);函数原型:double my_atof(char *str)
- C语言 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数 函数原型:double my_atof(char *str)
- c++实现atof()函数,将字符串转换成浮点数
- 写一个double my_atof(char *str)函数,将一个数字字符串转换成对应的浮点数
- 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数) 例如:“12.34“ 返回12.34 “-123.34“ 返回-123.34 函数原型:double my_
- 用c语言实现 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- PHP实现金额数字转换成大写函数
- 设计函数实现将中文数字转换成int型数字,例如”一百二十三” 转换成123
- 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- double my_atof(char *str)将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- 为函数原型编写函数定义:int my_atoi(char *str);(将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数))
- 【C语言】编写函数实现库函数atoi,把字符串转换成整形(考虑数字过大)
- C语言atof()函数:将字符串转换为double(双精度浮点数)
- oracle自定义函数示例--实现时间和数字的来回转换
- 如何在Excel或sqlserver中写用户函数实现数字货币向英文转换集锦
- C语言atof()函数:将字符串转换为double(双精度浮点数)
- 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数,负浮点数)
- 为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数
- 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- 【c语言】为下面的函数原型编写函数定义,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。