通貨フォーマットデータにどの通貨記号が存在するかを調べたい。
たとえば、入力文字列= $ 56.23
public class FormatConverter
{
private CultureInfo _cultureInfo;
public void UpdateCultureInfo()
{
Thread.CurrentThread.CurrentCulture.ClearCachedData();
var thread = new Thread(
s => _cultureInfo = Thread.CurrentThread.CurrentCulture);
thread.Start();
thread.Join();
}
Bool TryParseCurrencySymbolAndValue(string input, out string CurrencySymbol,
out double value)
{
if(_cultureInfo == null)
UpdateCultureInfo();
try{
// Convert Currency data into double
value = Double.Parse(input, NumberStyles.Number | NumberStyles.AllowCurrencySymbol);
// How to extract Currency Symbol?
CurrencySymbol = "$";
return true;
}
catch(Exception ex){ /* Exception Handling */}
return false;
}
}
文字列と56.23から別々に「$」記号を抽出してから、CultureInfoを56.23にフランス語形式で適用したいと思います。出力は$56,23になります。
場合によっては、入力は、入力文字列の最初または最後にある「ユーロ記号」またはその他の通貨記号である可能性があります。
数値部分のCurrentCultureに変換する方法を知っています。文字列から通貨記号を抽出する方法がわかりません。