
No.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編集を簡略化したいのかな・・・とも思うのですが、それだとソースが重たくなるだけで、利点がなさそうに思えるのですが・・・)がわからないので、なんとも言えません(スミマセン)。
No.6
- 回答日時:
この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桁分です。
もっとスマートな方法があるかもしれませんが、理解した範囲の「力ずく」です。
No.2
- 回答日時:
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文字目までであるか、ということも理解
できておりません。よろしければ、教えてくださいませ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのセルの書式設定・ユーザー定義の条件設定について 1 2022/08/17 21:56
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- 教育学 エクセルで小数点以下を四捨五入について教えてください。 2 2023/04/05 17:33
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- Visual Basic(VBA) C3とC4のセルに、Visual basicで実行した時入力した値をC3に表示させ、その後に、C3に 1 2023/07/14 09:43
- Excel(エクセル) エクセルで得点に対応する文字を求める 3 2023/05/31 09:18
- Excel(エクセル) エクセルシートの合計の変動 5 2022/04/05 15:56
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PowerPointの表内のカンマ
-
エクセル 数式の無効化
-
エクセルの計算結果に+(プラス...
-
エクセルでleft関数の結果が表...
-
excelでセルに「1000」と入力し...
-
エクセル 平均年齢
-
エクセルで「-3E+06」と...
-
Excel2000条件付き書式の質問で...
-
エクセルの数式
-
エクセルでオートサムを使った...
-
COUNT関数について
-
Excelで小数点を表示しつつ、桁...
-
エクセルの計算式でコンマを付...
-
エクセルで、50銭以下切捨て...
-
エクセルで桁を揃えるために0を...
-
セル上に表示された見かけ上の...
-
Excelで、小数点以下を自動省...
-
エクセル関数について
-
整数が入力されたときに、小数...
-
Excelでの表計算の作り方?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PowerPointの表内のカンマ
-
エクセル 数式の無効化
-
エクセルの計算式でコンマを付...
-
セル上に表示された見かけ上の...
-
エクセルでleft関数の結果が表...
-
エクセルでオートサムを使った...
-
エクセルの計算結果に+(プラス...
-
16桁以上の「0」に変換されてし...
-
エクセルで囲み線で出来ますか?
-
エクセルで「-3E+06」と...
-
エクセル 0.1と0.10
-
エクセルで、50銭以下切捨て...
-
エクセル 平均年齢
-
EXCEL計算式が入っているセルを...
-
エクセルの画面上にテキストBOX...
-
エクセル 常に桁区切りにしたい
-
エクセルでの『セルの書式設定...
-
Excelで「1234」と入力して...
-
エクセルで0.1という数字を%表...
-
エクセルで、タイム計測の管理...
おすすめ情報