C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.81755 の関連記事表示

<< 0 >>
■81755  単位、[m/s^2](メートル毎秒毎秒)の表示
□投稿者/ 政吉 -(2016/11/09(Wed) 18:56:58)

    分類:[.NET 全般] 

    2016/11/09(Wed) 19:16:34 編集(投稿者)

    こんにちわ。
    現在、Visual Studio 2015 Professional にて、C#でWPFのプログラミングをしております。
    画面上にパラメータ入力のテキストボックスを配置し、各パラメータにLabelで、パラメータ名と単位を表記しております。

    上記タイトルの通り、加速度の単位として、[m/s^2] をラベルで表記したいのですが、このまま、[m/s^2] では、一般の方には2乗の部分が分かりにくいので、m/s2 (2乗の2は小さくsの右上に来る感じ)に表記したいです。

    日本語環境のWindows7〜Windows10で動作させるため、全角の記号等の特殊文字が入ってもかまわないのですが、
    m^2=平方メートル=[u]は、環境依存文字ですが、記号がありますが、s^2は見つかりません。

    このような場合、皆様はどのように対応しておりますでしょうか?
    ペイント等で単位のpng画像を作って、ラベルではなく、ピクチャボックスで配置するという手も考えたのですが、あまりスマートじゃないなと思いまして。
    もしくは、"[m/s ]"と、2乗の"2"を別々のラベルにして、"2"の方のFontを小さくして"s"の右上に来るように配置する?

    [m/s^2]のパラメータが複数あり、もっとスマートな方法が無いかなと質問させていただきました。
    よろしくお願いいたします。
親記事 /過去ログ139より / 関連記事表示
削除チェック/

■81756  Re[1]: 単位、[m/s^2](メートル毎秒毎秒)の表示
□投稿者/ 魔界の仮面弁士 -(2016/11/09(Wed) 20:13:22)
    2016/11/09(Wed) 20:32:26 編集(投稿者)

    うっかり VB で回答してしまったので、編集して C# に書き換えました。

    No81755 (政吉 さん) に返信
    > m/s2 (2乗の2は小さくsの右上に来る感じ)に表記したいです。
    'CJKの後方互換文字なので、あまり使われるものでは無いですが。

    decimal val = 123.45m;
    char unit = '\u33A8';
    var text = $"{val}{unit}";


    > s^2は見つかりません。
    > このような場合、皆様はどのように対応しておりますでしょうか?

    string s = "メートル毎秒毎秒(単位: m/s\u00B2、\u334D/秒\u00B2)は加速度の単位です。";

    で済ませることもありますが、ケースバイケースですね。
    表示だけなら画像描画あるいは外字で済ませることもあります。

    テキストの受け渡しが必要な場合、相手が Shift_JIS 系の処理系だと
    どうにもならないですし、たとえ Unicode での受け渡しだったとしても、
    上付き数字だと小さすぎて読みにくいとか、そもそもフォントによっては
    指定しても表示できない文字となってしまう可能性もあるため、
    意図的に ^ で済ませてしまうこともあります。


    > もっとスマートな方法が無いかなと質問させていただきました。

    http://www.unicode.org/charts/PDF/U2070.pdf
    http://www.unicode.org/charts/PDF/U3300.pdf
記事No.81755 のレス /過去ログ139より / 関連記事表示
削除チェック/

■81758  Re[2]: 単位、[m/s^2](メートル毎秒毎秒)の表示
□投稿者/ 政吉 -(2016/11/09(Wed) 21:11:58)
    魔界の仮面弁士 さん>

    ありがとうございます!
    テキストの受け渡しは必要なく、今のところ表示だけの話です。

    > string s = "メートル毎秒毎秒(単位: m/s\u00B2、\u334D/秒\u00B2)は加速度の単位です。";

    これ、すごく気になります!
    知らなかった。
    明日やってみますね!
    ありがとうございました!
記事No.81755 のレス /過去ログ139より / 関連記事表示
削除チェック/

■81774  Re[3]: 単位、[m/s^2](メートル毎秒毎秒)の表示
□投稿者/ 政吉 -(2016/11/11(Fri) 17:00:28)
    解決しました。
    ありがとうございました。
記事No.81755 のレス / END /過去ログ139より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -