将数字字符串转换为美元的形式(练习)
2010-10-28 13:13
435 查看
实现的功能:
输入 输出 输入 输出
0 $0.00 1111 $11.11
1 $0.01 111111 $1,111.11
11 $0.11 1111111 $11,111.11
111 $1.11 11111111111 $111,111,111.11
具体实现方法:
输入 输出 输入 输出
0 $0.00 1111 $11.11
1 $0.01 111111 $1,111.11
11 $0.11 1111111 $11,111.11
111 $1.11 11111111111 $111,111,111.11
具体实现方法:
#include <stdio.h>#include <string.h>/*第一种方法,从字符串的后面向前面处理*/void dollars( char *dest, char *src ){int len;/*首先处理字符数小于3的几种特殊情况*/if (*src == '/0'){strcpy( dest, "$0.00" );}len = strlen( src );if (len == 1){strcpy( dest, "$0.0" );strcat( dest, src );}if( len == 2 ){strcpy( dest, "$0." );strcat( dest, src );}/*三个以上字符串的处理*/ if( len >= 3 ){int num = len/3 + 1;int i = 3;/*处理小数的情况*/ while( i-- > 0 ){*(dest + len + num ) = *(src + len );len--;}*(dest + len + num ) = '.';num--;while ( len >= 0 ){i = 3;while( (i-- > 0) && len >= 0 ){*(dest + len + num ) = *(src + len );len--;}*(dest + len + num ) = ',';num--;}num++;*(dest + len + num) = '</p>;}}/*第二种方案按照字符串的顺序处理字符串,这种方式较简单*/void dollars2( char *dest, char *src ){int len;len = strlen( src ); *dest++ = '</p>; /*首先处理小数点前面的部分*/if ( len >= 3 ){int i;i = len - 2;while ( i > 0 ){*dest++ = *src++;if( (--i > 0) && (i%3 == 0) ){*dest++ = ',';}}}/*如果src字符串小于3,则需在字符串的前面还要加一个0*/else{*dest++ = '0';}/*开始处理小数部分*/*dest++ = '.';*dest++ = len < 2 ? 0 : *src++;*dest++ = len < 1 ? 0 : *src++;*dest = '/0'; } int main(){char src[] = "1234567892354";char dest[100];dollars2( dest, src );puts( dest );}
相关文章推荐
- C语言中将数字形式的字符串转换为数字的方法
- 华为机试题--识别字符串中的整数并转换为数字形式
- 练习 3-5 编写函数 itob(n, s, b),将整数n转换为以b为底的数,并将转换结果以字符的形式保存到字符串s中。例如,itob(n, s, 16)把整数n格式化成十六进制整数保存在s中。
- Java将数字字符串转换成中文形式
- 将数字形式的资源ID转换成字符串形式的资源ID
- 练习2-3 编写函数 htoi(s),把由十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9、a~f以及A~F。
- 识别字符串中的整数并转换为数字形式
- java练习:金额转换,阿拉伯数字转换成中文传统形式
- 识别字符串中的整数并转换为数字形式
- JAVA 将数字字符串转换成中文形式
- 华为: 识别字符串中的整数并转换为数字形式
- 识别字符串中的整数并转换为数字形式
- 华为机试题目:识别字符串中的整数并转换为数字形式
- python小练习之将字符串转换成第一个字母大写后面字母小写的形式
- 练习2-3 编写函数htoi(s),把由16进制数字组成的字符串(包含可选的前缀0X或0x)转换成与之等价的整形值。字符串中允许包含的数字包括:0 ~ 9, a ~ f,A ~ F。
- 练习 2-3 编写函数 htoi(s),把由十六进制数字组成的字符串(包含可选的前缀 0x 或 0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9、a~f 以及 A~F。
- 练习 2-3 编写函数 htoi(s),把由十六进制数字组成的字符串(包含可选的前缀 0x 或 0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9、a~f 以及 A~F。
- 华为机试——识别字符串中的整数并转换成数字形式
- Java将数字字符串转换成中文形式
- 练习2-3 编写函数 htoi(s),把由十六进制数字组成的字符串(包含可选的前缀0x 或0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9、a~f以及A~F。