- ベストアンサー
整数が入力されたときに、小数点以下2桁まで表示させたいのですが
かなり未熟者で恐縮ですが、 たとえば表のセルに1と入力すると、1.00と表示させる ようにするにはどうしたらよいでしょうか。 四捨五入とちがって、Web上の情報も乏しく、 困っております・・・。 どなたか、ご指導お願い申し上げます。
- sasatomo
- お礼率18% (10/53)
- JavaScript
- 回答数7
- ありがとう数6
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんにちは。 えっと、用途がイマイチわからないのですが、表のセル、というのはテーブルのセルの事ですか? だとすると、以下は全く役に立たないんですが、フォームの場合でしたら↓で実現できます。 <html> <head> <title>小数点</title> <script language="JavaScript"><!-- function checkNum() { n = document.checkFm.num.value; n =n+"." n = n.split(".")[0]+"."+(n.split(".")[1]+"00").substring(0,2); document.checkFm.num.value = n;} // --></script> </head> <body> <form name="checkFm"> 入力:<input type="text" name="num"><br> <input type="button" onClick="checkNum()" value="チェック"><br> </form> </body> </html> ※小数点以下は二桁に制限する事で実現してます。 5.2358など、入れて、チェックボタンを押すと、5.23になります。 5.2などの場合は、5.20になります。 もし、テーブルのセルに、HTMLの編集時に入れた数字を変化させるとすると、その動作遷移(そうすることで、HTML編集を簡略化したいのかな・・・とも思うのですが、それだとソースが重たくなるだけで、利点がなさそうに思えるのですが・・・)がわからないので、なんとも言えません(スミマセン)。
その他の回答 (6)
- loveobo
- ベストアンサー率48% (102/210)
このQ&Aをご覧になった達人には笑われそうですが・・・ 達人が添削?してくださるまで、未熟者どうしで頑張りましょうか! > Figは、どんな言葉の略からきてるのでしょうか。// 痛いところを突かれました。ketasuuでも良かったのですが、見栄を張って 桁数=figure から採りました。慣用表現があるのかどうか、存じません。 最近、myXxxxという変数名が良く使われる理由(うっかり予約語に触れたり、 methodと交錯しないように)を聞きかじって、使ってみたかったんです。 myValの常用対数(全角のlogで下付10を省略して書きます)を採れば、 log1==0、log10==1、log100==2・・・ですね。Math.log() は 自然対数なので、常用対数に換算するために LOG10E(==0.43429...)を掛け、 さらに1を足して、100倍する前のmyValの整数部分の桁数としました。例えば、 元の数が 800 なら myFig==3.903... となるはずです。substr() の引数としては ==3 として働いてくれる(切り捨て)みたいですが、floor() で明示的に 切り捨てるのが安心でしょうかねぇ?? > なぜ抜き出す文字が、0文字目からmyFig文字目// myFig は 100倍する前のmyValの整数部分の桁数ですから、100倍後に 文字列化した myStr の「最初の文字」から「myFig文字分」までが、 元の数字の整数部分です。 > myFig文字目から2文字目までであるか// 100倍する前に3桁 (myFig==3) なら、文字列化したmyStrの4文字目以降が元の数の 少数部分ですが、substr(m,n) の m は [0]から数える(最初の文字は m==0)ので、 m==3 が少数第1位となり、そこから2文字を採ると元の数の少数2桁分です。 もっとスマートな方法があるかもしれませんが、理解した範囲の「力ずく」です。
お礼
詳しくご説明いただいて、どうもありがとうございます!
- UKY
- ベストアンサー率50% (604/1207)
入力される数が整数なら、ただ単純に".00"を文字の最後に追加すればいいと思うのですが……
- iwatobi_jp
- ベストアンサー率19% (5/26)
ごめんなさい。。。 カテゴリ見ないで質問内容でExcelだと思い込んでました。。。
- loveobo
- ベストアンサー率48% (102/210)
#2で myVal = 100 の行末セミコロン抜けてました。ごめんなさい。 あっ、エクセルの質問ではありませんよね?
お礼
本当にありがとうございました!おっしゃるとおり、 エクセルの質問ではないですよ(^^)
- loveobo
- ベストアンサー率48% (102/210)
100倍して四捨五入、文字列として下2桁を切り分け、小数点を介して 連結したらどうかと思ったのですが、右から数えるsliceを使ったら IEとNNで答えが変わってしまいました。で、左からだけ数えられる ように、Logで桁数を決めてみました。(私も未熟者、演習問題として挑戦) <html><body> <script language="JavaScript"> myVal =100 myFig = Math.log(myVal) * Math.LOG10E +1; myVal = Math.round(myVal*100); myStr = new String(myVal); myStr = myStr.substr(0,myFig) + "." + myStr.substr(myFig,2); document.write(myStr); </script></body></html> 最初は、Math.log()が常用対数のつもりで組んだら、myVal = 100で とんでもない答えが・・・ myVal = 1 のテストだけで投稿しなくて良かった~!
お礼
たびたびすみませんです。教えていただいたソースに関しての 質問なのですが、myFig = Math.log(myVal) * Math.LOG10E +1; と いう記述と、myStr = myStr.substr(0,myFig) + "." + myStr.substr(myFig,2); という記述に関して、お伺いしてもいいでしょうか。 Figは、どんな言葉の略からきてるのでしょうか。ごめんなさい、 あほで・・。それと、なぜ抜き出す文字が、0文字目からmyFig文字目 までと、myFig文字目から2文字目までであるか、ということも理解 できておりません。よろしければ、教えてくださいませ。
補足
たびたびすみませんです。教えていただいたソースに関しての 質問なのですが、myFig = Math.log(myVal) * Math.LOG10E +1; と いう記述と、myStr = myStr.substr(0,myFig) + "." + myStr.substr(myFig,2); という記述に関して、お伺いしてもいいでしょうか。 Figは、どんな言葉の略からきてるのでしょうか。ごめんなさい、 あほで・・。それと、なぜ抜き出す文字が、0文字目からmyFig文字目 までと、myFig文字目から2文字目までであるか、ということも理解 できておりません。よろしければ、教えてくださいませ。
- iwatobi_jp
- ベストアンサー率19% (5/26)
該当セルを右クリックして、 <セルの書式設定>-<表示形式>から「数値」を選択。 「小数点以下の桁数」を2にすればできるはずです。
関連するQ&A
- 1セルに6桁以上入力できない。小数点以下の表示が00になってしまう。
エクセルの1つのセルに1,000,000と入力するも1,000となってしまいます。 数式と値をクリアにしても、表示形式を標準や数値や文字列に設定しても下3桁が入りません。 それと小数点第2位まで計算したいのに、小数点第2位は.00なってしまいます。 それと小数点以下を切り捨てで表示させたいのに、四捨五入になってしまいます。
- ベストアンサー
- Windows XP
- 小数点の切り上げ方(?_?)
仕事中なのですが・・・。3時までに仕上げなくてはいけなくて困っています! エクセルで表計算で数字を入力しています。 小数点以下を四捨五入するのですが、切上げ方が分からず・・・確か「セルの書式設定」からどうにかすればよかったような・・・ すみませーん!誰か教えて下さい!
- ベストアンサー
- その他(インターネット・Webサービス)
- EXCELで小数点以下を四捨五入しない方法
EXCELで例えば、A1セルに7320000 B1セルに156 C1セルに26と入力してA1/B2*C1とすると電卓では、121.9999と続きますが、EXCEL計算では122.0000と勝手に四捨五入されてしまいます。四捨五入されず、実際の121.99999で表示させるにはどうすれば宜しいでしょうか?
- 締切済み
- オフィス系ソフト
- エクセルで小数点以下3桁を四捨五入して、小数点以下1桁を表示する方法
エクセル2003を使用しています。 計算式から出た結果に対して、小数点以下3桁を四捨五入して、小数点以下2桁ではなく、1桁を表示したいです。 例えば、計算式の結果、 1.145 の場合、普通に四捨五入すると 小数点以下1桁なら、1.1 小数点以下2桁なら、1.15 となってしまいます。 これを小数点以下3桁を四捨五入して、小数点以下1桁表示の1.2と表示させたいのですが、可能でしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルの小数点の表示について
エクセルで計算式をいれて、合計をだしますが、 そこのセルの答えが14.25となった場合、 セルを四捨五入させずに14.2と表示させるには どうしたらいいですか。
- ベストアンサー
- オフィス系ソフト
- EXCEL 小数点表示について
幅の細いセル等に 12.5 と入力した時や、# を設定した時、 小数部分は四捨五入されて表示され、 表示は13、値は12.5 となりますが、これを、 表示を切捨て、12と表示させる方法はありますか? もちろん、値は12.5です。 EXCEL2003 SP3 を使用しています。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Excelで小数点以下を切り捨てて表示するには?
こんにちは。 ちょっと急ぎで知りたいのですが、Excel2000で計算式を入力したところ、 自動的に小数点以下が四捨五入されて表示されます。 小数点以下は、切り捨てて表示もしないようにしたいのですが、 どのようにすればよいのでしょうか? 基本的なことですみません・・・ 具体的には・・・ A1に 48.85 B2に 250 C3に =SUM(A1*B1) と入力してあります。 C3は現在、12,213と表示されていますが、 12,212にしたいのです。 できればC列すべてそのように設定したいのですが・・・ よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- EXCEL2007 数値のの表示を3桁にしたい。
WINDOWSVISTA を買ったらついていた、EXCEL2007について質問です。 たとえば、215,400をセルに入力すると、セルに表示されるのは四捨五入の3桁で21.5と表示させたいのですが、どのように設定すればいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルの小数点以下表示
エクセルの小数点以下表示でツールバー、セルの書式設定などは表示されていない部分(例えば小数点以下2位までの表示なら3位以下の部分)は四捨五入されているのでしょうか?デフォルトの状態を知りたいのです。それの端数をROUND関数で調整しないと、計算結果等に支障は出ますか。
- ベストアンサー
- オフィス系ソフト
お礼
お答えいただき、どうもありがとうございました!