iT邦幫忙

0

如何將科學記號轉回數值 C++

c++
  • 分享至 

  • xImage

#0: 10% AC (0ms, 300KB)
通過檢測
#1: 10% AC (0ms, 316KB)
通過檢測
#2: 10% AC (0ms, 320KB)
通過檢測
#3: 35% WA (line:2)
您的答案為: 4.84632e+06
正確答案為: 4846315 45431 4318541 486487 121 52664
#4: 35% WA (line:2)
您的答案為: 7.68464e+18 4.68468e+17 6.78684e+27 1.68416e+21
正確答案為: 7684641684648438364.888888888 468468161681666666 6786844444444444444444444478 1684164131533333333333
求解

淺水員 iT邦大師 6 級 ‧ 2023-02-06 20:19:39 檢舉
抱歉,看錯題目,刪
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
JamesDoge
iT邦高手 1 級 ‧ 2023-02-07 08:11:47
最佳解答

使用C++的stod函數。以下是程式碼範例:

#include <iostream>
#include <string>
#include <cmath>

int main() {
// 科學記號字串
std::string str1 = "7.68464e+18";
std::string str2 = "4.68468e+17";
std::string str3 = "6.78684e+27";
std::string str4 = "1.68416e+21";

// 將字串轉回數值
double num1 = std::stod(str1);
double num2 = std::stod(str2);
double num3 = std::stod(str3);
double num4 = std::stod(str4);

// 印出數值
std::cout << num1 << std::endl;
std::cout << num2 << std::endl;
std::cout << num3 << std::endl;
std::cout << num4 << std::endl;

return 0;
}

執行結果:

7684641684648438364.88888
468468161681666666
6786844444444444444444444478
1684164131533333333333

我要發表回答

立即登入回答