Asp.net web api Xamarin绑定条目(双精度)在保存/检索SQL数据库(EF6)时混淆十进制符号
我是一个新手,我正在用Xamarin表单构建一个应用程序,在那里我使用EF6通过asp.net Web API保存和获取数据 我的系统是德语的,所以小数点是“,”。我的问题来了: 我有一个绑定的输入字段“高度”: XAML: 绑定是有效的,但是如果我在字段中输入一个像175,2这样的值,并在模型中的setter上放置一个断点,那么会有一个值1752…,它会像这样保存到DB(float列)中。如果我输入一个像175.2这样的值,它将以175,2的形式进入DB(注意不同的十进制符号)。因此,如果我从数据库中获取值,我的输入字段中将有175,2,如果我再次保存,它将像上面那样变成1752 这是文化信息的问题吗?例如,我尝试玩TryParse,并在app.xaml.cs中更改文化信息。但是我的工作日也会用英语,日期格式也会改变,这是我不想要的 这是否也是Web API和JSON的问题 我希望我不必(因为我认为这不是正确的解决方案)执行类似于Asp.net web api Xamarin绑定条目(双精度)在保存/检索SQL数据库(EF6)时混淆十进制符号,asp.net-web-api,xamarin.forms,entity-framework-6,cultureinfo,decimal-point,Asp.net Web Api,Xamarin.forms,Entity Framework 6,Cultureinfo,Decimal Point,我是一个新手,我正在用Xamarin表单构建一个应用程序,在那里我使用EF6通过asp.net Web API保存和获取数据 我的系统是德语的,所以小数点是“,”。我的问题来了: 我有一个绑定的输入字段“高度”: XAML: 绑定是有效的,但是如果我在字段中输入一个像175,2这样的值,并在模型中的setter上放置一个断点,那么会有一个值1752…,它会像这样保存到DB(float列)中。如果我输入一个像175.2这样的值,它将以175,2的形式进入DB(注意不同的十进制符号)。因此,如果我从
.replace(“,”,“)
或类似的操作
编辑
我正在使用的行为来自于此:
行为:数字中心从何而来?看来这可能是问题的根本原因。@Jason我从这里得到了答案:我会调试
onentrytexchanged
,看看它是否符合您的文化settings@Jason我做到了,如果我设置断点,TryParse方法中的培养基是正确的。为了排除它来自行为的可能性,我将其删除,还是同样的问题,行为:数字中心
从何而来?看来这可能是问题的根本原因。@Jason我从这里得到了答案:我会调试onentrytexchanged
,看看它是否符合您的文化settings@Jason我做到了,如果我设置断点,TryParse方法中的培养基是正确的。为了排除它来自行为的可能性,我将其删除,还是一样的问题
<Entry Placeholder="{helper:Translate Height}" Text="{Binding Height,Mode=TwoWay}" Keyboard="Numeric" Style="{StaticResource entryStyle}" >
<Entry.Behaviors>
<Behaviors:NumericEntry Double="True"/>
</Entry.Behaviors>
</Entry>
public class ProfileData : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(propertyName)));
}
.
.
.
private double? _height;
public double? Height
{
get => _height;
set
{
_height = value;
OnPropertyChanged();
}
}
.
.
.
}