Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >区分带有小数位的数字和没有- c++的数字(类型为双)。

区分带有小数位的数字和没有- c++的数字(类型为双)。
EN

Stack Overflow用户
提问于 2011-03-24 02:30:10
回答 6查看 1.1K关注 0票数 3

我试图在c++中实现一个简单的抽取算法。我有两个数组,比如p & q,其中下标通过以下关系相互关联:

p[k] = q[0.5*k]。这意味着以下序列应该有效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p[0] = q[0]  
p[1] = 0  
p[2] = q[1]  
p[3] = 0  
p[4] = q[2]  

等等..。

请注意,p[k]只接受一个值,并且只有当(0.5*k)的结果不包含小数位(或小数中有0)并且不使用任何舍入等。

我的问题是:是否有一种方法来区分整数(一个没有小数位的数字,或者小数点中只有0,比如说2.0)和一个C++中小数位数,前提是两者都转换为双数?

2.0是一个整数转换成双倍。2.1是一个小数位数。

例如:2) * 0.9*2应将0放入数组p,而0.9*10应将q9放入数组p。

如果我使用语句(int) (0.5*k),那么在每种情况下我都会得到一个整数,而不管k的值如何。

编辑:在上述情况下, 0.5只是说明性的。它可以是任何数字,例如2,2.5,0.9,0.95等)

任何帮助都是最受欢迎的,

谢谢,

斯里拉姆。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-03-24 02:47:02

假设主厨可以是其他任何东西,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p[floor(coef*k)] = (fabs(coef*k-floor(coef*k))<1E-6)?q[k]:0;
票数 2
EN

Stack Overflow用户

发布于 2011-03-24 02:32:21

假设k是整数类型,您可以使用if (k % 2 == 0) ...检查k是否可以被二除:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (k % 2 == 0)
  p[k] = q[k / 2];
else
  p[k] = 0;

这也可以用三元运算符来表示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p[k] = (k % 2 == 0) ? q[k / 2] : 0;
票数 3
EN

Stack Overflow用户

发布于 2011-03-24 02:35:09

您想要做的事情的简短语法可以是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p[k] = k % 2 ? 0 : q[k/2];

在C++中有区分整数和整数的方法吗?

定义整数,并在此上下文中定义整数。我很困惑!

你是否接受了解释这里?的差异?

如果要检测数字是否为整数,则这可能会有所帮助:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<cmath>

bool IsInteger(double d)
{  
    double intpart;
    return std::modf(double number, &intpart) == 0.0;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5417752

复制
相关文章
EasyExcel读入数字类型数据时出现小数位增长现象
最近使用easyexcel时碰到一个这样的问题,读取excel时出现了小数点精度问题。例如,0.137这个值,使用easyexcel解析后得到的BigDecimal对象就变成了0.13700000000000001,5.1,变成5.0999999999999996。
翎野君
2023/05/12
1.2K0
【剑指offer:和为s的两个数字】双指针
题目描述:输入一个递增排序的数组和一个数字 s,在数组中查找两个数,使得它们的和正好是 s。如果有多对数字的和等于 s,则输出任意一对即可。
心谭博客
2020/04/21
3380
python判断是否为数字类型_python判断字符串是否为数字
以下实例通过创建自定义函数 is_number() 方法来判断字符串是否为数字:# -*- coding: UTF-8 -*-
全栈程序员站长
2022/11/17
4K0
和为 S 的两个数字
在有序数组中找出两个数,使得和为给定的数 S。如果有多对数字的和等于 S,输出两个数的乘积最小的。
MickyInvQ
2021/12/07
4390
[剑指offer] 和为S的两个数字
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
尾尾部落
2018/09/04
4720
和为S的两个数字
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
名字是乱打的
2022/05/13
2760
Python保留小数位数和保留有效数字「建议收藏」
a = 1.23456789 保留小数点后3位:’%.3f’ % a 1.235
全栈程序员站长
2022/09/22
13.6K0
Python保留小数位数和保留有效数字「建议收藏」
和为s的两个数字_42
这里要注意题目虽然说要找到乘积最小的一对,但是其实不用找到每一对,因为最外面一对就是乘积最小的一对,我们这里可以证明一下 假设:若b>a,且存在, a + b = s; (a - m ) + (b + m) = s 则:(a - m )(b + m)=ab - (b-a)m - m*m < ab;说明外层的乘积更小
名字是乱打的
2021/12/23
2600
和为s的两个数字_42
Python 数字类型
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 数字类型 更多内容请见👇 Python 变量 Python 表达式与运算符 Python bool类型与逻辑关系运算 ---- Python 数字类型 1.整型 int 2.浮点型 float 3.整型与浮点型的相互转换 ---- Python 中数字类型有4种,分别是整型int、浮点型floa
小嗷犬
2022/11/15
2.1K0
Python数字类型
数字类型是不可变类型。所谓的不可变类型,指的是类型的值一旦有不同了,那么它就是一个全新的对象。数字1和2分别代表两个不同的对象,对变量重新赋值一个数字类型,会新建一个数字对象。
汤贤
2020/05/18
1K0
python数字类型
在python中,数据采用了对象的形式(无论是python内置对象还是使用python工具和像C语言自行创建的对象)。
py3study
2020/01/13
9790
理解 MySQL 中的数字类型
存储字符串时指定的类型 VARCHAR(50) 中可接收一个数字作为长度,其实除了字符串类型,数字类型也是可指定该参数的,比如 INT(10),BIGINT(20)。假设后续讨论中这个参数使用字母 M 来表示,即上面提到的。该参数被用在不同类型上时,其表示的意思不一样。
星哥玩云
2022/08/18
2.1K0
数字化时代,传统IT和数字型IT能否严格区分?
数字化转型这个话题可谓是老生常谈了,2021年我国颁布了《“十四五”规划纲要》,将“数字化转型”定为国家产业发展的重要方向。
嘉为蓝鲸
2022/08/29
6200
数字化时代,传统IT和数字型IT能否严格区分?
python的数字类型和字符串类型学习总结
整数类型(二进制(以0b或0B开头)、八进制(以0o或者0O开头)、十进制、十六进制(以0x或者0X开头)
用户7886150
2021/01/21
7640
剑指Offer - 面试题57. 和为s的两个数字(双指针)
输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。
Michael阿明
2020/07/13
2370
剑指Offer(四十二)-- 双指针法求解和为S的两个数字
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
秦怀杂货店
2022/02/15
1.1K0
和为S的两个数字VS和为s的连续正数序列
题目:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。 例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。 思路整理一下:最初我们找到数组的第一个数字和最后一个数字。首先定义两个指针,第一个指针指向数组的第一个(也就是最小的)数字,第二个指针指向数组的最后一个(也就是最大的)数字。当两个数字的和大于输入的数字时,把较大的数字往前移动;当两个数字的和小于数字时,把较小的数字往后移动;当相等时,打完收
猿人谷
2018/01/17
6550
vue解决字段类型为数字导致单选不正确的问题
最近在研究vue,也试着写一些Vue页面。 vue中,我返回一个值,"sex":0, 单选框代码为
星痕
2018/09/12
2.3K0
数字颠倒(C++ reverse的练习)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
1.6K0
点击加载更多

相似问题

C++中的双精度类型数字

51

输入类型数字-如果小数位为.00,则数字格式错误

11

带有变量小数位的数字格式

67

设置带有小数位的数字格式

15

如何提取双精度数字的小数位

315
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文