LoginSignup
1

More than 5 years have passed since last update.

UWPでTextBlockに数値を表す C++

Last updated at Posted at 2018-12-20

TextBlockに数値を表すことぐらい何ともないやと思っていたら全然そんなことはなかったので忘備録として残す。

まずはじめに

UWPでTextBlockに何かしらの内容を追加しようとするときは、必ずデータ型がPlatformString型にしなければいけない。(ここで躓いた)
テキストにしろ数値にしろ、通常のInt型やString型のままではこの中に突っ込めない。だから先に変換してやる必要がある。

変換方法

ざっくり言って
1, 任意のデータ型からwstring型に変換する
2, wstring型からPlatformString型へ変換する

直接PlatformString型へ変換できればよかったのだがやり方わかんなかった(テヘペロ

コードは以下の通り。
この例ではInt型の"num"をTextBlockの"Number"に入れるまでである。

#include <string> //std::to_wstringを使うため必須
~省略
int Num;//任意のデータ
std::wstring wsNum; //wstring型への返還のための変数

wsNum = std::to_wstring(Num); //ここでwstring型へIng型から変換
Platform::String ^outSt = ref new Platform::String(wsNum.c_str()); 
//ここで出力用変数を宣言してから変換
Number->Text = outSt; //出力

一番最初にstringをインクルードしているが、VisualStuioで新規に作っただけだと最初からはインクルードされていないので追記してやる必要がある。

ちなみに、PlatformString型で変数宣言するときは

Platform::String ^ST;

String^ ST; 

はまったく同じ内容である。短いほうが何かとすっきりしやすいかもしれない

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1