社区
数据结构与算法
帖子详情
如何将double转换成int?
Sco_field
2006-11-03 10:28:35
比如double数据: 2.370420e+2 ,-2.470420e-5,...如何转变成 int数据 2370420 ,
-2470420,...呢?
要求是不要过多的使用while 或if等过多占用时间的语句.
谢谢
...全文
3469
19
打赏
收藏
如何将double转换成int?
比如double数据: 2.370420e+2 ,-2.470420e-5,...如何转变成 int数据 2370420 , -2470420,...呢? 要求是不要过多的使用while 或if等过多占用时间的语句. 谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Kvci
2006-11-03
打赏
举报
回复
sscanf( str_double, "%[^.]", buf);
sscanf( str_double, "%*[^.].%[^e]", b);
strcat(buf,b);
sscanf(buf,"%ld",&num);
C++也一样
结果保存在num里
Kvci
2006-11-03
打赏
举报
回复
#include "stdio.h"
#include "conio.h"
#include "string.h"
int main()
{
long num;
char buf[20],b[20];
char *s="-32.47720e0-95";
sscanf( s , "%[^.]", buf);
sscanf( s, "%*[^.].%[^e]", b);
strcat(buf,b);
sscanf(buf,"%ld",&num);
printf("%d\n",num);
return(0);
}
Sco_field
2006-11-03
打赏
举报
回复
可有C++的代码?
可另外加分
double FileData[1];
char *str_double;
while(InFile >> FileData[0]) //从文件读取double数据
{
str_double=(char*)FileData;
//此处转换......
}
谢谢!
Kvci
2006-11-03
打赏
举报
回复
char buf[20],b[20];
char *s="-32.4720e-5";
sscanf( s , "%[^.]", buf);
sscanf( s, "%*[^.].%[^e][^+][^-][^2]", b);
printf( "%s%s", buf,b);
Sco_field
2006-11-03
打赏
举报
回复
先用循环找到e的位置,然后根据e后面两位的数来改变小数点的问题,以为是string,所以很容易改,改好了后就用recursion来转换成double,不用while,太麻烦。为了符合题目要求用recursion方便。最后直接把double 改成int
--------------
你的意思是用string类型获取文件中的double类型数据,得到e的位置后再转换成 double类类型,再把double强制转换成int?
不过利用string获取double数据再反变换时,可能会导致数据出错
qt_pixie
2006-11-03
打赏
举报
回复
先用循环找到e的位置,然后根据e后面两位的数来改变小数点的问题,以为是string,所以很容易改,改好了后就用recursion来转换成double,不用while,太麻烦。为了符合题目要求用recursion方便。最后直接把double 改成int
Sco_field
2006-11-03
打赏
举报
回复
你在什么里面?
用什么语言?
Excel?
---------------
VC++6.0里面
谢谢!
Sco_field
2006-11-03
打赏
举报
回复
比如double数据: 2.370420e+2 ,-2.470420e-5,...如何转变成 int数据 2370420 ,
-2470420,...呢?
要求是不要过多的使用while 或if等过多占用时间的语句.
------------------------
2.370420e+2 ,-2.470420e-5 这些数据是保存在文件中,利用double类型读取到FileData[0]变量中 得到的数据是237.0420,-0.00002470420,然后想通过对FileData[0]变量作变换转换成int 类型2370420,-2470420
-------------------------
我觉得首先要提出e后面的指数比如i,然后再根据指数大小对数据进行加权处理比如乘以pow(10,j),条件是i+j=6
,但是具体代码写不好
-----------------------
谢谢!
Kvci
2006-11-03
打赏
举报
回复
你在什么里面?
用什么语言?
Excel?
Sco_field
2006-11-03
打赏
举报
回复
那你的意思是去掉e后面的,把前面的当整数?
---------
对~该怎么弄呢?
qt_pixie
2006-11-03
打赏
举报
回复
你可以用recursion来把string转换为double,在此之前先使用一个if 和while循环来把科学记数方式转换成一般记数方式。然后直接转换成int
Kvci
2006-11-03
打赏
举报
回复
2.370420e+2应该是237啊
Kvci
2006-11-03
打赏
举报
回复
那你的意思是去掉e后面的,把前面的当整数?
那很简单啊
Sco_field
2006-11-03
打赏
举报
回复
2.370420e+2的int数据 是2370420?
还有可能溢出
----------------
对,我只要2370420,不会溢出
Sco_field
2006-11-03
打赏
举报
回复
我觉得首先要提出e后面的指数比如i,然后再根据指数大小对数据进行加权处理比如乘以pow(10,j),条件是i+j=6
,但是具体代码写不好
Kvci
2006-11-03
打赏
举报
回复
2.370420e+2的int数据 是2370420?
还有可能溢出
Sco_field
2006-11-03
打赏
举报
回复
2.370420e+2 ,-2.470420e-5 这些数据是保存在文件中,利用double类型读取到FileData[0]变量中,然后想通过对FileData[0]变量作变换转换成int
谢谢!
Kvci
2006-11-03
打赏
举报
回复
(int) ?
-2.470420e-5这个是你以字符串保存还是double
-2.470420e-5只是显示出来的
如果是以double保存的
一样可以强制转换
Sco_field
2006-11-03
打赏
举报
回复
谢谢!
以前没有用过sscanf函数,今天发现他的威力了
如何在Java中将
double
转换为
int
?
在本文中,我们将看到如何将
double
转换为
int
。 在Java编程中,您将有一个
double
原语值(例如82.14),但是要执行进一步的操作,您需要一个
int
值(例如82),所以让我们看看如何在Java中将
double
转换为
int
。 您可以通过三种方式将
double
转换为
int
。我将在下面列出所有内容,然后我们将一一列出。 1,将
double
转换为
int
—使用类型转换 2,将
double
转换为
int
—使用 Math.round() 3,将
double
转换为
int
—使用
Double
.
Int
Value
java
double
转换为
int
,如何在Java中将
double
转换为
int
?
在本文中,我们将看到如何将
double
转换为
int
。在Java编程中,您将有一个
double
原语值(例如82.14),但是要执行进一步的操作,您需要一个
int
值(例如82),所以让我们看看如何在Java中将
double
转换为
int
。您可以通过三种方式将
double
转换为
int
。我将在下面列出所有内容,然后我们将一一列出。1,将
double
转换为
int
—使用类型转换2,将
double
转换为
int
...
Java中如何将
double
转换为
int
?
在上述代码中,我们定义了一个
double
类型的变量num,并将其赋值为10.5。这可以通过使用强制类型转换或Math类中的方法来实现。在进行强制类型转换或使用Math类中的方法时,请确保你了解数据类型转换可能带来的影响,并根据实际需求选择合适的转换方式。在上述代码中,我们使用Math.round()方法将num四舍五入为最接近的整数,并使用强制类型转换将其转换为
int
类型。在上述代码中,我们使用Math.floor()方法将num向下取整为最接近的整数,并使用强制类型转换将其转换为
int
类型。
java
double
转
int
四舍五入_如何通过舍入将Java中的
double
转换为
int
?
要将
double
转换为
int
并将其四舍五入为最接近的整数(即与典型的(
int
)(1.8)and 不同(
int
)(1.2),它们都将“向下舍入”为0并返回1),只需在上加上0.5
double
int
,即可将其类型转换为。例如,如果我们有
double
a = 1.2;
double
b = 1.8;然后,以下x和y的类型转换表达式将返回四舍五入的值(x = 1和y = 1):
int
x = (
int
)(a...
double
转换成
int
java,Java将
double
转换为
int
本文概述我们可以使用类型转换在Java中将
double
转换为
int
。要将
double
数据类型转换为
int
, 我们需要执行类型转换。Java中的类型转换通过类型转换运算符(数据类型)执行。在这里, 我们将学习如何将
double
基本类型转换为
int
以及将
Double
对象转换为
int
。Java
double
to
int
示例:类型转换让我们看看在Java中将
double
转换为
int
的简单代码。publi...
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章