みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
フィールドがa b c 三つあります。
b c を足した答えがaに表示されるスクリプトを作成したいのですが、
答えが0.1の時など、0が表示されるようにするにはどういう計算式がよいのでしょうかか?
また、bが≒0 cが≒0のときは、aは≒0と答えが出るようにすることは可能
でしょうか?
もうちょっと厳密に考えてください。
1つの例だけ挙げて「0.1の時など」と言われても、どうしたいのかわかりません。整数部分だけ表示?四捨五入?
>bが≒0 cが≒0のときは
両方が、ということなら
Case ( GetAsText ( b ) = "≒0" and GetAsText ( c ) = "≒0" ; "≒0" ; b + c )
(GetAsはいらないかな?)
すみません。
普通にb+cの計算式でやってみたのですが、1.1や2.1など、0ではない時はちゃんと表示されるのですが、0.1や0.58など0がつくときは0が消えて.1や.58と表示されてしまうんです。≒0+≒0のときも答えが0と表示されてしまうので、≒0と表示されてほしいんです。
ああ、そういうことでしたか。
「0.~」の0が表示されないのは、そういう仕様(アメリカ式?)なので、設定では変更できません。
文字列として0を付ける計算をしないとだめです。
一例:
Let ( a = b + c ;
Case ( Left ( a ; 1 ) ="." or Left ( a ; 2 ) = "-." ; Substitute ( a ; "." ; "0." ) ; a )
)
>≒0+≒0のとき
こっちは、先に書きましたけど、≒という概念(演算子)はFMにはありませんから、テキストとして例外処理するしかありません。
> bが≒0 cが≒0
これは0のみで、
例えば1とか20とかは無いのですか?
またどちらか一方だけの場合は?
Offline
教えていただきありがとうございます。
ひまだねーさんに教えていただいた計算式、0を表示させる計算式と、≒を表示させる計算式、二つスクリプトに組み込んだのですが、最後に組み込んだスクリプトが優先されてしまうのかどちらかしか実行されません。二つの計算式をまとめて計算式をつくらないといけないのでしょうか?
ちぽさん、質問ありがとうこざいます。
0のみです。忘れてました。どちらか一方だけの時も≒は可能であれば表示させたいです!
Let (
a = b + c ;
Case ( PatterCount ( b & c ; “≒” ) ; “≒” )
& Case ( a < 0 ; “-“ )
& Case ( Abs ( a ) < 1 ; “0” )
& Abs ( a )
)
Last edited by Shin (2023-07-03 23:34:49)
Offline
今更ですが、、
0.1
が
.1
になる件
数字書式の設定で、
表示法を通貨にして、通貨記号を無しにします。
これで0が表示されますね。
たまたま見つけました、知りませんでしたよ。。
Offline
ほんとだー
これは使えるかも
ねーー
FM3の解説書があるんですがそれを引っ張り出してみたら、
書式設定が同じでしたから、そのころからできてたんでしょうね。
何十年も知りませんでした。
こねくり回して0を表示させたものが今でもありますよ。。
Offline
計算式を作って解決しました!ありがとうございました!
通貨にするんですか?そういう方法もあるんですね!試してみます!ありがとうございます。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 559.13 KiB (Peak: 578.2 KiB) ]