我正在尝试将下面的double值从我的环境对象放入一个文本,供用户查看。他是代码的一小部分,我在这里得到了一个错误,它说String类型的值必须被打开:
struct myView:View{
@EnvironmentObject var getFood:FoodAddModel
var unwrappedFoods:[AddedFoods]{
getFood.foods ?? []
}
var body: some View{
NavigationView{
List{
ForEach(unwrappedFoods) {obj in
let this: String? = String(obj.totalCals)
Text(obj.name)
Text(this)
}
}
}
}
}
完整的文件代码:
import Foundation
import SwiftUI
struct AddedFoods:Identifiable{
var name: String = ""
var totalCals: Double = 0
var totalProtein: Double = 0
var totalCarbs: Double = 0
var totalFat: Double = 0
var id = UUID().uuidString
//Your other properties
}
class FoodAddModel: ObservableObject,Identifiable {
@Published var foods : [AddedFoods]?
var id = UUID().uuidString
init() {
dummyData()
}
func dummyData() {
var obj:[AddedFoods] = []
obj.append(AddedFoods(name: "Pasta", totalCals: 340, totalProtein: 20, totalCarbs: 45, totalFat: 15))
obj.append(AddedFoods(name: "Chicken", totalCals: 560, totalProtein: 20, totalCarbs: 45, totalFat: 15))
obj.append(AddedFoods(name: "Apple", totalCals: 54, totalProtein: 20, totalCarbs: 45, totalFat: 15))
obj.append(AddedFoods(name: "Noodles", totalCals: 231, totalProtein: 20, totalCarbs: 45, totalFat: 15))
foods = obj
}
}
struct myView:View{
@EnvironmentObject var getFood:FoodAddModel
var unwrappedFoods:[AddedFoods]{
getFood.foods ?? []
}
var body: some View{
NavigationView{
List{
ForEach(unwrappedFoods) {obj in
let this: String? = String(obj.totalCals)
Text(obj.name)
Text(this)
}
}
}
}
}
如有任何帮助,我们将不胜感激:)
您可以只使用字符串插值来显示text
中的Double值。您可以在这里阅读更多关于字符串插值的内容,如果您需要特定的小数位数,也可以使用String(format:)
来完成这一操作,您可以在这里阅读更多内容。
像这样的东西应该管用。
struct myView:View{
@EnvironmentObject var getFood:FoodAddModel
var unwrappedFoods:[AddedFoods]{
getFood.foods ?? []
}
var body: some View{
NavigationView{
List{
ForEach(unwrappedFoods) {obj in
Text(obj.name)
Text("\(obj.totalCals)")
// Or if you need a fixed number of decimal places
Text(String(format: "%.0f", obj.totalCals))
Text(String(format: "%.2f", obj.totalCals))
}
}
}
}
}
注意,按照惯例,结构应该以大写字母开头,因此您的结构myview
应该真正命名为myview
。
我有一个pandas数据框架,其中混合了数据类型(DType),我希望将其转换为numpy结构化数组(或记录数组,在本例中基本相同)。对于纯数字数据帧,使用方法很容易做到这一点。我还需要将pandas列的数据类型转换为字符串而不是对象,以便使用numpy方法,该方法将数字和字符串输出到二进制文件,但不会输出对象。 简而言之,我需要将带有的panda列转换为字符串或unicode数据类型的numpy
问题内容: 将带逗号的字符串数字(例如:835,111.2)转换为Double实例的最简单,正确的方法是什么。 谢谢。 问题答案: 看一看。例如: 根据您使用的数量类型,您可能想解析为一个。最简单的方法可能是: 或与一起使用:
问题内容: 我不确定是我还是什么,但是将双精度转换为字符串时遇到问题。 这是我的代码: 我是在做错事还是在这里错过了一步。 尝试将其转换时出现错误。 我正在尝试在onTouchListener中执行此操作。病态发布更多代码,基本上是当用户触摸编辑文本框时,我希望信息计算填充编辑文本框。 问题答案: 这会将double转换为String
如何将Java中的字符串(如12.34)转换为双精度?
问题内容: 我想转换这个字符串 到2个JSON对象的数组。我该怎么办? 最好 问题答案: 使用jQuery: 是您的JSON对象。
我在neo4j关系的属性中存储了一个double(-0.1643)作为字符串(“-0.1643”)。 显然,我可以将数据存储为数值。但是在cypher中可以将字符串转换为double吗?类似于: