나는 작업중인 응용 프로그램의 영어 숫자를 아랍어 숫자로 표시해야합니다.C# WPF 영어 숫자를 아랍어 숫자로 변환
public class Class1
{
private double someDouble = 0.874;
public double SomeDouble
{
get { return someDouble; }
}
}
내가 런타임에 아랍어 숫자에 표시되는 비율에 SomeDouble의 값을 변환 할 : 여기
이중를 보유하고 예를 들어 클래스입니다.<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ArabicNumbers"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
x:Class="ArabicNumbers.Window1"
Title="Window1"
Height="300"
Width="300">
<Window.Resources>
<local:Class1 x:Key="Class1Instance" />
<local:DoubleValueConverter x:Key="doubleValueConverter" />
</Window.Resources>
<Grid DataContext="{Binding Source={StaticResource Class1Instance}}">
<TextBlock
HorizontalAlignment="Left"
VerticalAlignment="Top"
TextWrapping="Wrap"
Margin="10"
Text="{Binding SomeDouble, Converter={StaticResource doubleValueConverter}, Mode=Default}"/>
</Grid>
그리고 내 테스트 값 계산기, DoubleValueConverter : 윈도우의 뒤에있는 코드에서
public class DoubleValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
double valueAsDouble = (double)value;
return valueAsDouble.ToString("P1", culture);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
내가 설정, 여기에 내가 테스트로 사용하고 빠른 XAML입니다 현재 문화권에 대한 언어 속성은 "ar-SA"입니다. 이것은 DoubleValueConverter에서 culture 매개 변수의 값을 변경하므로 요구 사항 인 것 같습니다.
public partial class Window1 : Window
{
public Window1()
{
Language = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.Name);
InitializeComponent();
}
}
이 컨버터는 소수 구분 즉, 그러나 나는 아랍어 문자가 아닌 "87,4 %"로 출력하려면이 번호가 필요합니다, 올바른 형식의 속성을 제공합니다.
누구나 간단한 방법으로 제안을 할 수 있습니까?
당신이 "여든일곱 - 점 - 같은 일을 할 출력을 필요로한다는 것을 의미합니까 4 퍼센트 "는 아랍어 ("سبعة وثمانون نقطة أربعة في المئة ")로만 제공됩니까? – MusiGenesis
아뇨, 미안 해요. 1 2 3 – Jason
그런데, 나는 그 사람들이 바른 인물이 되길 바랄뿐입니다. 나는 말하거나, 읽거나, 아랍어로 쓰지 않습니다. – Jason