如何在不获取rounded的情况下返回双精度数据:
int function() {
double d = 5.894;
printf("d=%f\n", d);
return d;
}
int main() {
double d = function();
printf("d=%f\n", d);
return 0;
}
这给了我
d=5.894000
d=5.000000
我在这里缺少什么?
答案 0 :(得分:6)
您的函数返回class RegData2: UITableViewController, UISearchBarDelegate, UISearchDisplayDelegate {
// Beginning to ios7 compatibility
let model = Model()
var prevArray = [String]()
var selectionPrev = String()
var selection : String = ""
var filteredTableData = [String]()
var int = 0
override func viewDidLoad() {
super.viewDidLoad()
// Reload the table
self.tableView.reloadData()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if (tableView == self.searchDisplayController?.searchResultsTableView) {
return self.filteredTableData.count
}
else {
return prevArray.count
}
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell!
cell.textLabel?.font = UIFont.boldSystemFontOfSize(18)
if (tableView == self.searchDisplayController?.searchResultsTableView) {
cell.textLabel?.text = filteredTableData[indexPath.row]
return cell
}
else {
cell.textLabel?.text = prevArray[indexPath.row]
return cell
}
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
tableView.deselectRowAtIndexPath(indexPath, animated: true)
// controller.searchBar.resignFirstResponder()
if (tableView == self.searchDisplayController?.searchResultsTableView) {
selection = filteredTableData[indexPath.row]
}
else {
selection = prevArray[indexPath.row]
}
performSegueWithIdentifier("regData2ToRegView", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "regData2ToRegView" {
let regView = segue.destinationViewController as! RegView
regView.prevSelection = selection
regView.prevSelectionType = selectionPrev
}
}
func filterContentForSearchText(searchText: String, scope: String = "Title") {
filteredTableData = prevArray.filter({( item : String) -> Bool in
var match = (scope == "Title")
var stringMatch = item.rangeOfString(searchText)
return match && (stringMatch != nil)
})
}
func searchDisplayController(controller: UISearchDisplayController, shouldReloadTableForSearchString searchString: String?) -> Bool {
self.filterContentForSearchText(searchString!, scope: "Title")
return true
}
func searchDisplayController(controller: UISearchDisplayController, shouldReloadTableForSearchScope searchOption: Int) -> Bool {
self.filterContentForSearchText(self.searchDisplayController!.searchBar.text!, scope: "Title")
return true
}
}
,必须返回int
更改
double
到
int function()
答案 1 :(得分:1)
iharob
的答案当然是正确的,但我认为知道将来如何避免此类错误也很重要。
我还没有找到任何关于这种行为的明确引用(从"大"数字类型隐式转换为"较小"一个),所以我问过{{关于这一点。
很快,通过提供正确的编译警告标志,可以在编译时发现这些错误(例如-Wconversion
),因为它几乎总是一个bug。 / p>
但是,这种行为是设计上的,正如Chris在评论中提到的那样,有时它在性能方面是question。