社区
数据结构与算法
帖子详情
如何将double转换成int?
Sco_field
2006-11-03 10:28:35
比如double数据: 2.370420e+2 ,-2.470420e-5,...如何转变成 int数据 2370420 ,
-2470420,...呢?
要求是不要过多的使用while 或if等过多占用时间的语句.
谢谢
...全文
3478
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
类型。
double
转换成
int
java,Java将
double
转换为
int
本文概述我们可以使用类型转换在Java中将
double
转换为
int
。要将
double
数据类型转换为
int
, 我们需要执行类型转换。Java中的类型转换通过类型转换运算符(数据类型)执行。在这里, 我们将学习如何将
double
基本类型转换为
int
以及将
Double
对象转换为
int
。Java
double
to
int
示例:类型转换让我们看看在Java中将
double
转换为
int
的简单代码。publi...
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...
数据结构与算法
33,027
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章