Redian新闻
>
看在党国的份上,拉兄弟一把
avatar
看在党国的份上,拉兄弟一把# Joke - 肚皮舞运动
l*y
1
输入一个long double,格式化后输出。例如: 234567614.98 -> 234,567,
614.98
-给出test case
方法是,
Char a[200];
Sprintf(a,”%Lf”,d);
但是得到的c string数组后面总有0000的结尾,比如输入2345.98得到2345.980000,有
什么办法可以把这些后缀的0去掉呢?
avatar
p*e
2
张军长,看在党国的份上,拉兄弟一把
avatar
l*y
3
主要是不清楚sprintf总是会得到后缀是0000的c string吗?如果每次都是0000结尾那
倒反而好了,如果不是那就不明白如何判断了
avatar
l*e
4
有奖竞猜
这是公狗还是母狗?
avatar
h*6
5
如果没有指定精度,默认保留六位小数。
avatar
s*r
6
有啥奖?

【在 l*****e 的大作中提到】
: 有奖竞猜
: 这是公狗还是母狗?

avatar
l*y
7
用了sprintf(a,".2Lf",d),结果出来的c string数组是1234.98D\01这样的,不知道为
什么已经限制精度为2了,还是出来几个字符非要补齐6位?
avatar
s*e
8
试一下限制位数总长,比如6.2Lf.

【在 l********y 的大作中提到】
: 用了sprintf(a,".2Lf",d),结果出来的c string数组是1234.98D\01这样的,不知道为
: 什么已经限制精度为2了,还是出来几个字符非要补齐6位?

avatar
l*y
9
好像不行,而且如何事先知道long double转化为c string以后的长度?
avatar
p*z
10
有方法限制吗?
如果没有的话,先转成字符串再操作?对字符串的操作方法很多的
avatar
d*g
11
如果转换成字符串,那转换成的字符串里岂不是不知道有多少个0000
avatar
t*t
12
you are totally missing the point -- the question asked you to add "," as
the thousands' grouping character. printf() family is not guaranteed to do
that (i.e. implementation-defined), and if it does, it also depends on
locale and some special flag ("%'f" for SUSv2, for example). so you are not
supposed to use printf() family (i.e. whoever asked you the question do not
expect you to do that). you are supposed to do it manually.
as for the trailing zero, you need to give more information -- probably
depends on whether the input is send in via a string (e.g. from cin) or via
a long double variable. if it is sent in via string, simply don't involve a
long double, process the string and add "," wherever it should be. if it is
sent in via long double, you'll need to know the output precision (given or
you may assume a default value), otherwise long double could be quite long
that you don't know whether a trailing number is really there or just error.

【在 l********y 的大作中提到】
: 输入一个long double,格式化后输出。例如: 234567614.98 -> 234,567,
: 614.98
: -给出test case
: 方法是,
: Char a[200];
: Sprintf(a,”%Lf”,d);
: 但是得到的c string数组后面总有0000的结尾,比如输入2345.98得到2345.980000,有
: 什么办法可以把这些后缀的0去掉呢?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。