締切済み 小数桁表示ができません 2008/10/04 09:57 最近javaプログラムを始めたものです。いま円周率πの計算をしているのですが、どうしたら小数桁を15桁以上の値を表示することができますか?よろしくお願いします。 みんなの回答 (1) 専門家の回答 みんなの回答 ProKaseifu ベストアンサー率51% (98/192) 2008/10/04 10:09 回答No.1 doubleで計算してます? 多分有効桁数が足りないです。 java.math.BigDecimalを使ってください。 質問者 お礼 2008/10/04 22:42 回答ありがとうございます。 はい、いまの計算は double で計算しています。 BigDecimal っていうのは Biginteger のように多倍長のコマンドなんですか? 使い方を調べてみます。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発Java 関連するQ&A 長い桁(小数点以下)が計算できる言語は? 先日、円周率を求める独自のアルゴリズムで、(仮称)十進BASICを使用して1000桁まで出すことに成功しました。 しかし、(仮称)十進BASICは1000桁が限界で、これ以上詳しい値を出すことが出来ませんでした。 なので、さらに詳しい値を算出できるプログラミング言語には何があるのでしょうか? 検索してみると、独自の計算のプログラムなどを組まなければいけないとか・・・ 無限桁の桁数が扱えるプログラミング言語はないでしょうか? また、計算用のプログラムを組むとなれば、どの言語がおすすめですか? 是非教えてください。 数値を小数点二桁にしたい セルに小数点十桁くらい入っているのですが、 表示を小数点二桁にしています。 表示ではなくて、実際の値を小数点二桁に 置き換えたいのですが、簡単に置き換える方法は ありますか? エクセルで小数点以下3桁を四捨五入して、小数点以下1桁を表示する方法 エクセル2003を使用しています。 計算式から出た結果に対して、小数点以下3桁を四捨五入して、小数点以下2桁ではなく、1桁を表示したいです。 例えば、計算式の結果、 1.145 の場合、普通に四捨五入すると 小数点以下1桁なら、1.1 小数点以下2桁なら、1.15 となってしまいます。 これを小数点以下3桁を四捨五入して、小数点以下1桁表示の1.2と表示させたいのですが、可能でしょうか? ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム 円周率「π」が、10桁で割り切れた というのは本当? 最近、友人から「円周率が10桁で割り切れたらしいで」という噂を聞き、帰ってネットで調べてみると千葉電波大学が計算プログラムにミスがあって修正したプログラムで計算すると10桁で割り切れたという報告が載っていました。 学校では、3.1415………と続くと教えられたのですが、この研究結果は本当なのでしょうか? よろしくお願いします Excel小数3桁目の丸め方 丸め方で困っております。 関数で何とかならないものでしょうか? 宜しくお教え下さい。 小数3桁目の数字が5未満なら小数3桁目を切捨てる ” 5なら小数3桁目をそのまま5 ” 6以上なら小数3桁目を切り上げ 例 1.234→1.230 1.235→1.235 1.236→1.240 ※小数3桁の数の入るセルを〔A1〕とし、A1は数式です。 円周率を何桁まで言える? 皆さんは円周率を小数点以下何桁まで言えるのでしょうか? 1セルに6桁以上入力できない。小数点以下の表示が00になってしまう。 エクセルの1つのセルに1,000,000と入力するも1,000となってしまいます。 数式と値をクリアにしても、表示形式を標準や数値や文字列に設定しても下3桁が入りません。 それと小数点第2位まで計算したいのに、小数点第2位は.00なってしまいます。 それと小数点以下を切り捨てで表示させたいのに、四捨五入になってしまいます。 電卓の表示(いつもは0桁、割り切れないとき2桁) キャノンのHS-1220TUGという電卓使ってます。 計算後の答えなんですが、割り切れないときだけ小数点2桁表示(3桁目を四捨五入)で、それ以外は0桁に表示するやり方ありませんか? いつもはFで四捨五入してるんですが、これだといつも小数点2桁まで表示されちゃうから見づらいんです。 円周(率)の計算方法 文系人間です。 高校の数学は、計算問題は解けるけど…といったレベルでした。 円周率は、「円周÷直径」と習いました。 しかし、実生活において円周や直径を実測しようと思ったら、 定規や巻き尺を使ってせいぜい10分の1ミリまでが限界です。 それで正確な(小数点以下何兆ケタの)円周率が算出できるとは思えません。 ということは円周も計算式で求めなければならないということです。 で、円周は、「直径×円周率」…これでは堂々巡りですね。 円周を円周率を使わずに求める方法ってあるんでしょうか。 ある値の近似値ってその値そのものですか? 小数点以下何兆ケタの円周率を算出する公式は調べれば出てくると思いますが、 その公式が意味するところは、一般人にも分かるように説明できるのでしょうか。 また、そのような公式は、円周と関係あるのでしょうか、ないのでしょうか。 円周と関係ないとしたら、どうして定義から離れたところで、円周率が算出できるのでしょうか。 円周率に対するもやもやした気持ちを言葉にすること自体が難しいのですが、 あえて質問にするとしたらこんな形です。 推察するに聞きたいことはそうじゃないだろ、というご意見でも結構です。 よろしくお願いいたします。 小数点以下を強引に表示させたい 小数点以下を強引に表示させたいと考えています。 具体的には、「130」という値を「130.00」というように、小数点以下2桁まで表示させたいのです。3桁以下は切り捨てます。 これまでは、 $c = $a / $b; round($c, 2); という方法でやっていたのですが、$cがきっちり割り切れる値だと、どうも普通に小数点以下を表示させないようなのです。 例え「00」でも表示させたいのですが、そのような関数はありますでしょうか? よろしくお願いいたします。 円周率について(2) スパコンのおかげで円周率πの値がとんでもない桁まで計算されていますが、このπの数値について、小数点以下第n桁の数を何とかして予測できるような公式は考えられないものでしょうか。 小数点4桁での四捨五入がうまくいきません エクセルで次のような計算をさせます。 A2 に1.8、B2に0.075、C2に0.075、 D2に= A2*B2*C2 、E2に=roundup(D2,4) D2の計算結果は 0.010125 です。小数点第5桁目の値を参照して第4桁目で四捨五入したいのですが、roundupでは0.0102、rounddownでは0.0101です。 表示させたいのは0.0101です。この場合、rounddownを使えば問題ないのですが、逆にrounddownだと小数点以下4桁目の四捨五入がうまくいかない場合もあります。 例えば A3に2.7 B3に0.08、C3に0.08 があり、E3にすべての値を掛けた結果を表示させると0.01728となります。 =roundup(E3,4)では0.0173となり、rounddownでは0.0172となります。この場合はroundup関数の結果である0.0173が求める数値です。 A列、B列,C列に任意の数字が入り、E列に4桁目で四捨五入した正確な値を求めたいのですが、なにか良い方法はないでしょうか。 VBAを使っても構いません。ちなみにこれは木材の材積計算に使用する目的です。 よろしくお願いします。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム エクセルで小数は小数を,整数は整数を表示したい。 エクセル2003で質問です。 Sheet1のA1はSheet2のA1計算結果の値を表示しています。 計算結果を以下の条件で表示したいと思っています。 ・小数点があるものは小数点を。 (ただし,100.30等は100.3のように,末尾の0を表示したくない) ・100,000のように桁を分かりやすくするカンマを表示させたい(小数点がある場合も) ・左寄せで表示したい 最初はセルの設定で0#,###.??としてみたのですが, これだと小数点以下が0のとき.(ドット)が表示されてしまいます。 また,VBAで(末尾が0のときに0を削除す)という記述を書いてみたのですが文字列に変更したあと,replaceで空欄に置き換えてみましたが,0が全て消えてしまいます。 どなたかお分かりになられる方がいらっしゃいましたら,ご教授いただけませんでしょうか? よろしくお願いいたします。 大量な小数点について 今回自作で、簡単なベンチマークテストをするために 何千という円周率を求めるプログラムをC言語で作成しようと思っています。 円周率を求めるプログラムは、簡単なストーマーの公式を用いて行おうと思っています。アルゴリズムは理解できているのですが、大量の小数点をC言語でどのように表現しようか考えているとこですが、思いつきません。 どなたか、何千という小数点を扱う方法の伝授をお願いします。 エクセル 小数点以下二桁と小数点以下0桁そのままで エクセル2013を使っています。 セルの書式設定の文字列にする方法以外で、教えてください。 小数点以下2桁と小数点以下なしで表示するセルを計算したいのですが、 文字列にすると、計算できないので困っています。 入力した数字そのまま表示し、計算するにはどうすれば良いですか? 小数点以下二桁まで求める? 小数点以下二桁までの後に、どの動詞を使ったらいいでしょうか? 言いたいのは、小数点以下二桁まで四捨五入で計算すること。 求める?丸める?それとも、ほかの動詞? 日本語学習者です。 よろしくお願いいたします。 エクセルの表示形式で、10の桁で四捨五入した値を表示させるには? エクセルの表で、数字を四捨五入する方法にはROUND関数がありますが、関数で変換すると値そのものが変わってしまいます。 値はそのままで四捨五入した数字で表す方法を教えてください。 小数や一桁の整数までの四捨五入であれば、セルの書式設定・表示形式を「数値」にして小数点以下の桁数を指定してやれば簡単ですが、10の桁以上で丸めて表示させる方法を探しています。 例えば、9876→9880と表示させる書式設定の方法です。 値は計算に使うので、ROUND関数で実際に丸めたくないのです。 ユーザ定義を組み合わせるなどで、うまくできませんか? 円周率は今現在何桁まで知られている? タイトルのとおりです。円周率は今現在何桁まで知られているのでしょう? 100億桁を超えたくらいには聞いていますが・・・ どこのコンピューターがそういう計算をしているんでしょうか。 FX各会社のレート表示 小数点以下3桁表示について 最近、FX各社のレート表示が小数点以下が下3桁表示するところが 多くなりましたが、下2桁表示のときには パッっと見て利益などはつかめたのですが、3桁になかなか慣れないです。 なんか良い方法ありますかね? 小数の表示が・・・。 初歩的な質問で申し訳ないです。 「2個の整数値を標準入力装置(キーボード)から読み込み、その平均値を計算して結果を標準出力装置(ディスプレイ)に出力するというプログラムを書きなさい。小数以下1桁を表示すること。」 という問題を考えていたのですが、上手くいきません。 intじゃダメということはわかるのですが、floatやdoubleにしたら答えがおかしくなります。 intで割り切れる数字だったらこれでいいみたいですが割り切れない奴を小数1桁表示ができません。 どうすべきでしょうか? #include <stdio.h> main() { int a,b,c; printf("整数a:"); scanf("%d",&a); printf("整数b:"); scanf("%d",&b); c=(a+b)/2; printf("平均値は%dです。",c); } 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
回答ありがとうございます。 はい、いまの計算は double で計算しています。 BigDecimal っていうのは Biginteger のように多倍長のコマンドなんですか? 使い方を調べてみます。