2017-04-02 12 views
0

こんにちは私はこの数字を数えたいと思っています。私はこの二倍の78.23を持っていれば、関数は4を返します。私は145.123を持っていれば6です。 C++で? ありがとうございました!数字の長さを数えよう

+4

二重引用符を特に使用すると、基数2で直接表現できない数字に問題が発生します。基数10の例は1/3です - この数字の長さはどのくらいでしょうか? – Shaggi

答えて

0

これを行う簡単な方法は、単なる文字列として番号を入力し、あなたはそれが厳密に整数にする必要がある場合)(

#include <iostream> 
#include <string> 
#include <conio.h> 
using namespace std; int main() { 

string number; 

cout << "Enter a number: "; 
cin >> number; 

cout << "length is " << number.length(); 

_getch(); 
return 0; 

を.LENGTH使用することで、あなたが作成する必要があります、その後倍増します数学的アルゴリズム

+0

それが二重なら何ですか?それもポイントを数えるつもりだ... – 0xDEFACED

1

精度 - 出力する値と同じくらい出力ストリームの多くのプロパティです。 ostreamofstreamostrstreamなど)を使用して出力すると仮定すると、setprecisionのようなプロパティios_base::precisionios_base::widthなどまたはストリームマニピュレータをルックアップします。 C I/O(sprintf()など)を使用している場合、答えは%f形式で指定された修飾語によって異なります。

したがって、値を取得する方法は、選択したメソッド(ストリームマニピュレータ、書式指定子)を使用して値を文字列に出力することです。その後、文字列の長さを計算し、末尾の0、小数点などを1つ減算します。

また、浮動小数点変数のうち、実数浮動小数点表記を含む浮動小数点変数は、値は、0.5の積算値の合計ではありません(格納された値は近似値です)。とりわけ、浮動小数点変数は、0.10.01のような値を正確に表すことはできません。サンプル値78.23145.123の両方を、浮動小数点変数を使って正確に表すことはできません。あなたのような質問に対する答えが、変数自体の価値と同じくらい、変数の出力方法に依存する理由の一部です。

関連する問題