xamarin表单中条目的千位分隔符格式化程序

stszievb  于 2023-04-03  发布在  其他
关注(0)|答案(1)|浏览(139)

我正在处理一个页面,其中有几个条目用于输入数值 (整数和小数点)。
要求每个字段都使用小数点和千位分隔符(例如:1.254.356,42)。
下面的代码正确地格式化了值。问题是当文本改变时,光标总是跳到末尾:

private void TbLenght_TextChanged(object sender, TextChangedEventArgs e)
{
    var textbox = (Entry)sender;
    var tempValue = double.Parse(textbox.Text, culture);
    var newFormat = tempValue.ToString("N2", culture);
    textbox.Text = newFormat;
}

我有哪些选择来实现我的目标?

uxhixvfz

uxhixvfz1#

下面的代码正确地格式化了值。问题是当文本改变时,光标总是跳到末尾:
可以修改当前CursorPosition的输入,使当前CursorPosition在小数点前,请看下面的代码:

var textbox = (Entry)sender;
        var tempValue = double.Parse(textbox.Text, culture);
        var newFormat = tempValue.ToString("N2", culture);
        textbox.Text = newFormat;
        textbox.CursorPosition = newFormat.Length-3;

相关问题