像这样转换浮点数的任何聪明方法:
float f = 711989.98f;
Run Code Online (Sandbox Code Playgroud)
变成十进制(或双精度)而不失精度?
我试过了:
decimal d = (decimal)f;
decimal d1 = (decimal)(Math.Round(f,2));
decimal d2 = Convert.ToDecimal(f);
Run Code Online (Sandbox Code Playgroud) 我已将Flurry(http://www.flurry.com/)整合到我的手机7应用程序中.所需的唯一代码是应用程序启动中的这一行
FlurryWP7SDK.Api.StartSession(ApiKeyValue);
Run Code Online (Sandbox Code Playgroud)
但是,只要该行被命中,应用程序就会发生KeyNotFoundException崩溃.堆栈跟踪包含在下面.它似乎是查询隔离的存储设置,并且当密钥不存在时失败.
有没有人有这个错误的经验,甚至成功地将乱舞集成到Phone 7应用程序?
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(String key)
at System.IO.IsolatedStorage.IsolatedStorageSettings.get_Item(String key)
at A.ca98fb38190f0d5cad84c67a779d17229.c204dba68825403c905efd7bfd067b17b(String ce0360de492f1f363775feaf6d6a8ced5, Object c8d4be677f7ee63f6756e13f285072523)
at A.c3f1105d518a239d73e2236200494de25.set_cfca54db015a16ab23de44b4d5c65e9a3(String c8d4be677f7ee63f6756e13f285072523)
at FlurryWP7SDK.Api.StartSession(String apiKey)
at AppName.App.Application_Launching(Object sender, LaunchingEventArgs e)
at Microsoft.Phone.Shell.PhoneApplicationService.FireLaunching()
at Microsoft.Phone.Execution.NativeEmInterop.FireOnLaunching()
Run Code Online (Sandbox Code Playgroud)
编辑
在与Flurry支持讨论之后,似乎Flurry代码捕获了KeyNotFoundException.但是,如果在抛出异常时要中断调试器设置,则无论如何都会进入调试器.然后继续执行将起作用,因为Flurry捕获并处理了异常.
我无法验证这是否是解决方案,因为我不再能够访问指示错误的开发环境,但它似乎是一个可能的解决方案.
我正在使用msbuild自动构建和打包准备部署的网站.当我编译然后通过Visual Studio 2008发布我的项目时,一切正常.
但是,当我使用msbuild时,我遇到错误,因为AspNetCompiler正在尝试编译未包含在我的.csproj中的aspx和ascx文件,但仍然存在于版本控制中.
我知道我可以从版本控制中删除它们,但任何人都可以告诉我为什么这些文件正在编译?
这是我的msbuild任务.
<AspNetCompiler
TargetPath="$(PackageDir)\Web"
VirtualPath="/"
PhysicalPath="$(buildDirectory)\Web"
Force="true"
/>
Run Code Online (Sandbox Code Playgroud)
谢谢!