请大虾们帮忙,怎么把double型的数据转换成钱的格式如123,466,456.25

geshuwei2006 2007-02-02 02:09:04
怎么把double型的数据转换成钱的格式如123,466,456.25
...全文
168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
intuition444 2007-02-02
  • 打赏
  • 举报
回复
_fcvt
Converts a floating-point number to a string.

char *_fcvt( double value, int count, int *dec, int *sign );

Function Required Header Compatibility
_fcvt <stdlib.h> Win 95, Win NT


For additional compatibility information, see Compatibility in the Introduction.

Libraries

LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version


Return Value

_fcvt returns a pointer to the string of digits. There is no error return.

Parameters

value

Number to be converted

count

Number of digits after decimal point

dec

Pointer to stored decimal-point position

sign

Pointer to stored sign indicator

Remarks

The _fcvt function converts a floating-point number to a null-terminated character string. The value parameter is the floating-point number to be converted. _fcvt stores the digits of value as a string and appends a null character ('\0'). The count parameter specifies the number of digits to be stored after the decimal point. Excess digits are rounded off to count places. If there are fewer than count digits of precision, the string is padded with zeros.

Only digits are stored in the string. The position of the decimal point and the sign of value can be obtained from dec and sign after the call. The dec parameter points to an integer value; this integer value gives the position of the decimal point with respect to the beginning of the string. A zero or negative integer value indicates that the decimal point lies to the left of the first digit. The parameter sign points to an integer indicating the sign of value. The integer is set to 0 if value is positive and is set to a nonzero number if value is negative.

_ecvt and _fcvt use a single statically allocated buffer for the conversion. Each call to one of these routines destroys the results of the previous call.

Example

/* FCVT.C: This program converts the constant
* 3.1415926535 to a string and sets the pointer
* *buffer to point to that string.
*/

#include <stdlib.h>
#include <stdio.h>

void main( void )
{
int decimal, sign;
char *buffer;
double source = 3.1415926535;

buffer = _fcvt( source, 7, &decimal, &sign );
printf( "source: %2.10f buffer: '%s' decimal: %d sign: %d\n",
source, buffer, decimal, sign );
}


Output

source: 3.1415926535 buffer: '31415927' decimal: 1 sign: 0


intuition444 2007-02-02
  • 打赏
  • 举报
回复
MSDN上可以查到
char *_fcvt( double value, int count, int *dec, int *sign );


Output

source: 3.1415926535 buffer: '31415927' decimal: 1 sign: 0

geshuwei2006 2007-02-02
  • 打赏
  • 举报
回复
如果是字符串该怎么转变阿.
todototry 2007-02-02
  • 打赏
  • 举报
回复
字符串

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧