【问题标题】:Parse number with cortana用 cortana 解析数字
【发布时间】:2016-02-29 17:17:37
【问题描述】:

我有一个 Cortana XML 文件,我需要输入一个数字。我应该怎么做才能确保可以将其转换为数字?

<Command Name="AddMoney">
  <Example> Add 10 dollars </Example>
  <ListenFor> add {amount} {currency} </ListenFor>
  <Feedback> Adding some money </Feedback>
  <Navigate/>
</Command>

<PhraseList Label="currency">
    <item>dollar</item>
    <item>euro</item>
    <item>pound</item>
</PhraseList>

<PhraseList Label="amount">
</PhraseList>

【问题讨论】:

    标签: c# windows-10 uwp cortana windows-10-universal


    【解决方案1】:

    我找到了一种接收号码的方法,但并不完美。

    <PhraseTopic Label="amount" Scenario="Commands">
      <Subject>Phone Number</Subject>
    </PhraseTopic>
    

    请注意,我使用的是 PhraseTopic 而不是 PhraseList。我真的不知道哪个Scenario 是最好的,但我发现Commands 比没有设置Scenario 产生更好的结果。出于某种奇怪的原因,PhraseTopic 标记必须放在所有 PhraseList 标记之后...

    在尝试主题时,自动完成功能会显示几个选项,其中最有希望的是 Date/TimeAddressesPhone Number。在尝试多个主题时,我永远无法匹配,但是使用“电话号码”(或者即使没有这样的选项,也可以只使用“数字”),我能够在某种程度上一致地接收数字值。

    号码以数字形式出现,所以我只需要int.TryParse(myText, out myNumber) 并使用它或说“无效号码输入”。

    请注意,任何内容都可以在此处输入,即使有主题和场景限制...以下将起作用:

    "Hey Cortana, MyAppName add blah blah blah dollars"
    

    金额将是"blah blah blah"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-23
      • 1970-01-01
      • 2012-07-30
      • 2020-08-25
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多