質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

textbox

HTMLの<input type="text">で生成されるtextboxに関するタグです。

Q&A

解決済

2回答

3669閲覧

C#でTextboxにマイナス数字を表示する方法

ParaParaDance

総合スコア56

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

textbox

HTMLの<input type="text">で生成されるtextboxに関するタグです。

0グッド

0クリップ

投稿2020/10/19 01:12

Byte配列をConvert.ToString(BitConverter.ToInt32(data, 0), 10)にし、Textboxに表示していますが、マイナス値ではなく、2の補数で表示されます。

例えば、-20だと、236になってしまう。

これを△20、-20など負の数字に表示したいですが、どうすれば良いでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YAmaGNZ

2020/10/19 01:19

dataにはどのようなデータを設定しているのですか?
YAmaGNZ

2020/10/19 01:26

入力として何バイトのデータを変換したいのかも記載してください。
ParaParaDance

2020/10/19 02:10

Byte[] data = new byte[4]で設定しており、中に入っているデータを確認した所、-20の場合、ecが入ってました。
退会済みユーザー

退会済みユーザー

2020/10/19 02:11

Textbox って何ですか? 言語が C# なら大文字小文字の区別があるのですけど。もし、TextBox コントロールのことだったとしても、それは Windows Forms, WPF, ASP.NET Web Forms いずれにもあります。他にもあるかも? 何の話をしているのですか?
YAmaGNZ

2020/10/19 02:23 編集

int32の-20は0xFFFFFFECとなります。(BitConverterはリトルエンディアンとなるので{0xec,0xff,0xff,0xff}) なので、入力データがなんなのかの確認をしております。0x000000ecを変換して-20を得たいというのであればint32の変換とは異なります。 実際に変換したいデータは何なのですか? 1バイト整数とか4バイト整数とか実際に変換したいものをしっかり把握してください。
ParaParaDance

2020/10/19 02:29

実際に変換したいものは、1バイトの整数です。
guest

回答2

0

ベストアンサー

BitConverter.ToInt32(Byte[], Int32)は、4byte配列⇒intに変換するメソッドなので、
マイナス値にならないということであれば、そもそもbyte配列に入ってるデータが間違っています。

byte⇒sbyteするだけなら、uncheckedで普通にキャストしましょう。

csharp

1 byte byteVal = 236; 2 sbyte sbyteVal = unchecked((sbyte)byteVal); //sbyteValは-20

投稿2020/10/19 02:27

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そもそもbyteという型は無符号の8ビット数値ですんでそうなって当然です。
符号付き8ビット数値の型、sbyteでキャストしてから文字列変換してみてはどうでしょう

投稿2020/10/19 01:52

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問