我想将小数四舍五入到另一个数字的最接近的增量。例如,给定值2.23678301和增量0.0001,我想将其舍入为2.2367。有时增量可能类似于0.00022,在这种情况下,该值将向下舍入为2.23674。
我尝试这样做,但有时结果不正确并且测试未通过:
extension Decimal {
func rounded(byIncrement increment: Self) -> Self {
var multipleOfValue = self / increment
var roundedMultipleOfValue = Decimal()
NSDecimalRound(&roundedMultipleOfValue, &multipleOfValue, 0, .down)
return roundedMultipleOfValue * increment
}
}
/// Tests
class DecimalTests: XCTestCase {
func testRoundedByIncrement() {
// Given
let value: Decimal = 2.2367830187654
// Then
XCTAssertEqual(value.rounded(byIncrement: 0.00010000), 2.2367)
XCTAssertEqual(value.rounded(byIncrement: 0.00022), 2.23674)
XCTAssertEqual(value.rounded(byIncrement: 0.0000001), 2.236783)
XCTAssertEqual(value.rounded(byIncrement: 0.00000001), 2.23678301) // XCTAssertEqual failed: ("2.23678301") is not equal to …Run Code Online (Sandbox Code Playgroud) 我从Visual Studio发布了一个Azure Web角色,出了点问题.我认为我的工作站设置有误.如果部署出错,有没有办法恢复Azure网站?
我在我的网站上收到此错误:
超时已过期.从池中获取连接之前经过的超时时间.这可能是因为所有池连接都在使用中并且达到了最大池大小.
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.InvalidOperationException:超时已过期.从池中获取连接之前经过的超时时间.这可能是因为所有池连接都在使用中并且达到了最大池大小.
这是在任何地方重用的C#类(我认为泄漏在这里):
public class Generator
{
SqlConnection cn = null; // new SqlConnection(connectionString);
public SqlConnection Connection {
get {
if (cn == null) {
cn = new SqlConnection("Server=xxxxx,1433;Database=xxxxx;User ID=xxxxx;Password=xxxxx;Trusted_Connection=False;Encrypt=True;");
}
if(cn.State != ConnectionState.Open)
cn.Open();
return cn;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我的方法中我使用它像这样:
var cmd = _generator.Connection.CreateCommand();
cmd.CommandText = "SELECT * FROM SomeTable";
var reader = cmd.ExecuteReader();
while (reader.Read())
{
//DO SOMETHING
}
reader.Close();
Run Code Online (Sandbox Code Playgroud)
编辑:在我的方法的类中,我尝试跨多个方法共享相同的SQL连接,如下所示:
private Generator _generator;
public HomeController()
{
InitializeConnection();
}
private void InitializeConnection()
{
_generator = …Run Code Online (Sandbox Code Playgroud) 我想在页面加载上执行一个进程,具体取决于URL中的哈希值.我想我需要RegEx,因为我正在寻找一个纯JavaScript解决方案(没有库依赖).
我想要做的是如果哈希是"#/ products",那么我将调用"myIndex()"否则如果哈希是"#/ products/3",那么我将调用"myDetail(id)",其中"id"是产品编号的变量.
有人知道如何实现这个目标吗?
我通过这样做得到一行的索引:
row.parent().children("tr").index(row)
Run Code Online (Sandbox Code Playgroud)
有没有更有效的方法来查找索引?我有数百行,所以它杀死我的性能,我必须选择所有行只是为了找到索引.
我在IE中遇到性能问题并使用浏览器分析器,我将其缩小到这个:
$tbody.find('> tr:not(.t-grouping-row,.t-detail-row)')
Run Code Online (Sandbox Code Playgroud)
这究竟是什么意思以及关于如何重写这一点的任何想法,以便它在IE中表现更好(如果有意义,可能是纯Javascript)?
javascript performance jquery internet-explorer jquery-selectors
如何获取对jQuery中具有colspan的子单元格的所有行(tr)的引用?
<table id="report">
<tr>
<th>Lorem ipsum</th>
<th>Lorem ipsum</th>
<th>Lorem ipsum</th>
<th>Lorem ipsum</th>
</tr>
<tr>
<td>Lorem ipsum</td>
<td>Lorem ipsum</td>
<td>Lorem ipsum</td>
<td>Lorem ipsum</td>
</tr>
<tr>
<td colspan="4">
<!-- Details here -->
</td>
</tr>
<tr>
<td>Lorem ipsum</td>
<td>Lorem ipsum</td>
<td>Lorem ipsum</td>
<td>Lorem ipsum</td>
</tr>
<tr>
<td colspan="4">
<!-- Details here -->
</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud) Google Map API中是否有任何地方可以隐藏地图上的公交车?我在mapOptions中找不到任何东西.任何帮助将不胜感激.

下面我有一个包装另一个方法的方法.我想要做的是提供一个可选参数来过滤内部方法,这是一种与T不同的类型.
这是被认为是"公共"API的外部方法:
public override IQueryable<T> GetEverything()
{
return Get()
.Where(i => i.Active == true)
.Select(i => new T(i));
}
Run Code Online (Sandbox Code Playgroud)
作为伪代码,我想做这样的事情:
var items = GetEverything(x => x.SomeValue > 10);
Run Code Online (Sandbox Code Playgroud)
哪个会像这样传递给方法
public override IQueryable<T> GetEverything(???)
{
return Get()
.Where(i => i.Active == true)
.Where(x => x.SomeValue > 10)
.Select(i => new T(i));
}
Run Code Online (Sandbox Code Playgroud)
注意我仍然想保留我的i.Active过滤器,如果开发者决定传入过滤器,我不想放松它.传入的过滤器将不会替换内部过滤器.有人能帮忙吗?任何帮助或建议将不胜感激!
在我当前的实现中,我使用rawValue这样的方式将字符串枚举传递给函数:
enum Compass: String {
case North, South, East, West
}
func something(key: String) {...}
something(Compass.East.rawValue)
Run Code Online (Sandbox Code Playgroud)
除了String功能之外是否有其他类型,所以我可以做这样的事情?
something(Compass.East)
Run Code Online (Sandbox Code Playgroud)
我不想制作key类型的参数Compass,因为我enums来自各个地方,但都继承自String.
我试过这样做,但收到了一个错误:
func something(key:StringLiteralConvertible){...} //错误:协议'StringLiteralConvertible'只能用作通用约束
有没有我可以使用的类型,所以我不必rawValue每次都使用.
我正在尝试在分段控件上处理点击事件,但是再次单击所选按钮时.例如,对于下面已选择"秒"的屏幕截图,如何再次单击"第二个"按钮时如何处理操作?
我试过了IBOutlet,但它只在值发生变化时触发.然后我尝试了下面的代码,但是只有在值发生变化时它才触发.在两种情况下,选择"秒"时,再次单击"秒"不会触发任何内容.有没有办法做到这一点?
segmentedControl.addTarget(self, action: "segementedAnyTap:", forControlEvents: .AllEvents)
Run Code Online (Sandbox Code Playgroud)

javascript ×5
jquery ×3
.net ×2
c# ×2
performance ×2
swift ×2
ado.net ×1
asp.net ×1
azure ×1
cloud ×1
decimal ×1
enums ×1
foundation ×1
google-maps ×1
html ×1
iboutlet ×1
ios ×1
ios8 ×1
linq ×1
regex ×1
rounding ×1
sql-server ×1
url ×1
url-routing ×1
windows ×1