gpt4 book ai didi

c - 程序四舍五入小数到我不想要的指数

转载 作者:太空宇宙 更新时间:2023-11-04 01:10:10 24 4
gpt4 key购买 nike

我有一个包含这样数据的文件

USDINR12AUGFUT 58 1344396605 627906 2012-08-08 09:00:05 贸易 55.1600 2 55179.50 839USDINR12AUGFUT 59 1344396605 627910 2012-08-08 09:00:05 贸易 55.1600

在我的 C 代码中,我通过这一行从文件中读取了这些数据

void as(char line[300])
{
sscanf(line,"%s %lf %lf %lf %s %s %s %lf %ld %lf %ld",symbol, &trade_no, &utc_sec,&utc_nano,date,time,trade_type,&ltp,&ltq,&vwap,&volume);
if (!strcmp(trade_type,"BID"))
{
cout<<endl;
printf("%s %lf %lf %lf %s %s %s %lf %ld %lf %ld\n",symbol,trade_no,utc_sec,utc_nano,date,time,trade_type,ltp,ltq,vwap,volume);

// cha/i);
}

else if (!strcmp(trade_type,"ASK"))
{
cout<<endl;
printf("%s %lf %lf %lf %s %s %s %lf %ld %lf %ld\n",symbol,trade_no,utc_sec,utc_nano,date,time,trade_type,ltp,ltq,vwap,volume);
// char li[100] = "Only Ask.txt";
// wr(li);
}

else if (!strcmp(trade_type,"TRADE"))
{
cout<<endl;
printf("%s %lf %lf %lf %s %s %s %lf %ld %lf %ld\n",symbol,trade_no,utc_sec,utc_nano,date,time,trade_type,ltp,ltq,vwap,volume);


// char li[100] = "Only Trades.txt";
// wr(li);
}

我把这个数字作为双 utc_nano..问题是当我通过另一个函数将它写入另一个文件时,我得到的输出是

USDINR12AUGFUT 58 1.344e+009 627906 2012-08-08 09:00:05 贸易 55.1600 2 55179.50 839 USDINR12AUGFUT 59 1.344e+009 627910 2012-08- 08 09:00:05 贸易 55.1600

我不想要以指数形式突出显示的数字,我想要它在输入文件中的样子..请帮助我

最佳答案

我认为您不想在其中的很多字段中使用 float 。除非您准备接受交易编号中的舍入误差,否则 Utc sec(秒)、utc nano(大概是纳秒)

在这种情况下,您需要更改这些字段的类型以匹配并使用不同的 scanf 字符串来指示您正在读取(可能是 long 或 long long)整数。

此外,您似乎对所有这些都使用了全局变量,这不是一个好主意。

关于c - 程序四舍五入小数到我不想要的指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14155162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com