如教程所示
// setprecision example
#include <iostream> // std::cout, std::fixed
#include <iomanip> // std::setprecision
int main () {
double f =3.14159;
std::cout << std::setprecision(5) << f << '\n'; // prints 3.1416 and not 3.141459 why
std::cout
我想知道为什么下面的downcast在运行时会失败:
案例1:
Object y = 10.23;
Console.WriteLine(y.GetType()); //System.Double
int z = (int)y;// fails @ runtime
Console.ReadKey();
案例2:
Double y = 10.23;
Console.WriteLine(y.GetType());//System.Double
int z = (int)y;//success
Console.ReadKey();
在这两种情况下,y的类型都是System.Double,为什么在第一种
我有以下代码:
//...
int variable_1, variable_2;
cout << "Please enter the 2 numbers: ";
try
{
if ( !(cin >> variable_1) ) throw Invalid_number(); //empty class just for exceptions
if ( !(cin >> variable_2) ) throw Invalid_number(); //problem is here.
}
catch (Invalid_
为什么下面的C代码输出“差异: 0.000000”?在我的大学任务中,我需要用许多小数进行计算,但我不明白这一点,因为我对C语言编程很陌生。我是否使用了正确的类型?提前谢谢。
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
int main() {
long double a = 1.00000001;
long double b = 1.00000000;
long double difference = a-b;
printf(
该程序向用户索要账单,然后询问他们为此支付了多少钱,并应计算并打印出找零。我省略了第二部分,因为我遇到的问题是计算第二个for循环中的更改。根据用户输入的不同,出现的错误是在不同的一角、二十五分、五分钱线上的java.lang.NullPointerException。我发现了这个问题,人们说这是程序试图获取null的值,但我看不出是怎么回事,因为我正在更新。
提前感谢您的帮助
Scanner s = new Scanner(System.in);
Double[] Bill = new Double[5];
Double[] Paid = new Double[5]
我对这个问题的标题不是很好,但希望我能在这篇文章中解释得更多。
import java.io.*;
import java.text.*;
public class Output {
public static void main(String[] args) {
/*double number = 438.978;
/*UpperCase <- naming convention for classes.DecimalFormat x = new DecimalFormat("#.#");
System.out.println(x.format
我有一个双变量测试。我想提取小数点前的所有数字和小数点后的两个数字,将输出存储在整数变量美元,美分中。我该怎么做呢?我不希望发生任何舍入。
示例:
double test= 12.1234
输出
int dollar =12;
int cents =12;
double test =1235.0
输出
int dollar=1235
int cents =0
有什么好的方法来测试一个decimal值是否可以在不抛出异常的情况下转换为double,并且更好地不需要转换到一个字符串并从一个字符串进行解析?
我可以像这样测试与long或int类型的兼容性:(但还没有测试)
if (value == decimal.Truncate(value))
{
if (value >= int.MinValue && value <= int.MaxValue)
return (int)value;
if (value >= long.MinValue && value <=
我有2个双变量,当我把它们加起来时,它会返回int变量。但我也想要双倍的回报。我该怎么办?谢谢!
示例:
double d = 4.0;
double Myd = 4.0;
Console.WriteLine ( d+Myd ); // it returns me 8 but I want 8.0 .
为了好玩,我一直在C++中实现一些数学工具,我一直在尝试实现,但是,我不知道我是否理解它应该返回什么。我已经实现了这个实现,返回105作为维基百科文章中给出的示例编号5959。
维基百科的伪代码如下所示:
一个人尝试各种价值的一个,希望那是一个正方形。
FermatFactor(N): // N should be odd
a → ceil(sqrt(N))
b2 → a*a - N
while b2 isn't a square:
a → a + 1 // equivalently: b2 → b2 + 2*a + 1
我已经学习了几个Java类,在这样做之后,我了解到C#是非常相似的,我试图通过将java中的简单程序转换为C#来学习。到目前为止,简单的数学题和打印到控制台的工作进行得很顺利,但现在我开始处理数组和列表,但我似乎做得不对。我的代码看起来应该能工作,VisualStudio2019中的描述符看起来应该以我认为的方式运行。但是它没有打印出与我的Java代码相同的有意义的数据。第一个爪哇。
import java.text.DecimalFormat;
import java.util.ArrayList;
public class Main {
//Max number method f
我有两个不同的程序,一个使用int,另一个使用Double。对于下面的代码,我得到了NullpointerException
public class Solution {
Double cost;
void addTax(Double b)
{
cost+=b;
}
public static void main(String[] args)
{
new Solution().addTax(30.00);
}
}
但是对于下面的代码,使用int的代码没有得到任何运行时错误。
public class
我有一个双数组,在第一个数组中有一些城市的人口,而那些城市的人口在第二个数组中。
double[][] population = new double[][]{
{24153000,18590000,18000000,14657000,14543000,13617000,13197596,12877000,12784000,12400000,12038000,
11908000,11548000,11035000,10608000,10355000,10290000,10152000,10125000,9752000},
{138468898
我试着做一个函数,从双数生成整数。我希望这个函数以整数结尾的十进制为基础。例如,1.75将有75%的机会四舍五入和25%的机会四舍五入。
以下是我迄今所做的尝试
public static int fairIntFromDouble(final double number)
{
Random random = new Random();
if (random.nextDouble() < number)
{
return (int) Math.floor(number);
}
else
{
return (int) Math.celi(numbe