- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一个奇怪的问题。我有一个看起来像这样的 CashGameGeneralViewModel
类
public class CashGameGeneralViewModel
{
public string Limit { get; set; }
public int HandsPlayed { get; set; }
public float AmountWon { get; set; }
}
这是应该返回某个玩家玩过的所有手牌的方法:
public List<CashGameGeneralViewModel> GetAllHands(string playerToFind)
{
HoldemHandContext db = new HoldemHandContext();
int playerId = GetPlayerId(playerToFind);
var holdemHandResult = (from phh in db.PlayersInHoldemHands
from hh in db.HoldemHands
where hh.Id == phh.HandPlayed && phh.PlayerId == playerId
select new CashGameGeneralViewModel()
{
Limit = //"some text",
String.Format("{0:0.00}", hh.SBlindAmount) + "/" +
String.Format("{0:0.00}", hh.BBlindAmount),
HandsPlayed = db.HoldemHands.Distinct().Count(),
AmountWon = 0
}
).ToList();
return holdemHandResult;
}
public int GetPlayerId(string playerToFind)
{
HoldemHandContext db = new HoldemHandContext();
int playerId = (from p in db.Players
where p.ScreenName == playerToFind
select p.Id).FirstOrDefault();
return playerId;
}
现在的问题是
Limit = //"some text",
String.Format("{0:0.00}", hh.SBlindAmount) + "/" +
String.Format("{0:0.00}", hh.BBlindAmount)
部分。 hh.SBlindAmount
和 hh.BBlindAmount
是浮点值。我想使用 String.Format
因为 0.10
被缩短为 0.1
并且我得到了我想要的字符串格式。但我收到一个异常(exception):
'The invocation of the constructor on type 'PokerRecord.View.CashGameGeneralUC' that matches the specified binding constraints threw an exception.' Line number '60' and line position '18'.
当我删除 string.format 并放入一些“常规”字符串时,一切正常......有人知道为什么吗?
最佳答案
我认为对于您正在尝试做的事情(将特定的 float 格式化为字符串),您需要 .ToString()
的重载,它允许您提供格式提供程序。
类似于 SmallBlind.ToString("{0:0.00}")
您可能正在寻找的内容可能会得到最好的体现:
Limit = string.Format("{0} / {1}",
SmallBlind.ToString("{0:0.00}"),
BigBlind.ToString("{0:0.00}")),
//Rest of statement here...
根据你得到的错误(我昨天在一个问题中遇到了类似的错误)这是我的解决方案:
Limit = GetLimit(SmallBlind, BigBlind),
//Rest of Statement Here
然后用string.Format定义Get Limit:
private string GetLimit(double smallBlind, double bigBlind)
{
return string.Format("{0} / {1}",
smallBlind.ToString("{0:0.00}"),
bigBlind.ToString("{0:0.00}"));
}
我会把它留给比我更好的专家来解决为什么这会导致 Linq 失败,但这应该能让你绕过它。
当然,这假设您的 CashGameGeneralViewModel 出于某种原因不应该知道盲注。如果可以,解决方案(已在另一个答案中提到)是让 Limit getter 返回预先格式化的字符串。
可能有更好的方法来做我正在做的事情,但是,遇到你遇到的同样问题,这就是我解决它的方法。
关于.net - linq 查询中的 String.Format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6035608/
我在运行 GNU Visual Debugger 1.2.6 的 XP 虚拟机上尝试打开 Ada 文件 (.adb),但不断出现以下错误: not in executable format: File
我正在尝试获取 io:format/1 的输出结果。 我知道io_lib中也有类似的函数,io_lib:format/2,但是输出不一样。事实上,它根本没有做任何事情。 如果我尝试绑定(bind) i
我在 documentation 中找不到任何内容, 甚至 BreakBeforeBraces: Allman格式化我已经拆分的单行函数 void foo() { bar(); } 我想要类似的东西
请考虑函数f: open Format let rec f i = match i with | x when x () | i -> pp_open_hovbox std_form
如何在列表中的每三个参数后添加一个回车符(使用 ~%)? 例如,我现在: (format nil "~{~a ~}" (list '"one" '"two" '"three" '"four" '"fi
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
当我尝试在 Ubuntu 上编译 fprintf(stderr,Usage) 时,我遇到了这个错误: error: format not a string literal and no format
运行 cv2.getRectSubPix(img, (5,5), (0,0)) 抛出错误: OpenCV Error: Unsupported format or combination of for
我正在 cocos2d-x-2.1.4 上开发游戏,但是,当我尝试在 Android 上构建它时,它失败并出现错误:格式不是字符串文字且没有格式参数 [-Werror=format-安全] 在文件 C
运行时: $ clang-format -style=Google -dump-config > .clang-format 文件后附有省略号 (...)。 TabWidth: 8 Us
我想在纯函数中将 double 型转换为字符串。我很困惑为什么这不是纯粹的: wstring fromNumber(double n) pure { import std.format;
Common Lisp 的 format 是否有一个特别容易阅读的实现? 我找到了 SBCL's version ,但由于 SBCL 以 性能 Common Lisp 实现而著称,我想知道是否有一个更
嗨,我正在尝试在 JSP 页面上格式化字符串,它给了我错误,正如我在标题中提到的,我的代码是, String header=""; header = 12-29-2011 15;
clang-format 将我的行拆分为 80 列。有没有办法让停止断线? documentation似乎没有解决这个问题。 最佳答案 负责它的配置选项称为 ColumnLimit .您可以通过将其设
我有一个Angular 11项目,试图集成SpreadJS Designer,但在ngcc步骤Compiling @grapecity/spread-sheets-designer-angular :
我正在使用 clang-format 4.0.0来对齐我的个人项目。 我将以下配置用于 clang-format 。 Language: Cpp BreakBeforeBraces: A
我正在使用- char str[200]; ... sprintf(str,"%s", val) msg(str); sprintf(str, "%s: %s",timestr,"\n recv -"
我有这个 double 值: var value = 52.30298270000003 当我将它转换为 string 时,它失去了它的精度: var str = string.Format("{0}
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 8 年前。 Improve
如何使用 clang-format 始终将冒号左对齐。我不希望它被禁用:1234,但禁用:1234。 #pragma warning(disable: 1234) 最佳答案 我猜你需要这个。 Spac
我是一名优秀的程序员,十分优秀!