男孩,这个真的很奇怪.我希望下面的代码可以打印1990,但它打印1989年!
$val = '$19.9';
$val = preg_replace('/[^\d.]/','',$val);
$val = intval($val * 100);
echo $val;
Run Code Online (Sandbox Code Playgroud)
为什么发生这种情况?
编辑:和这段代码:
$val = '$19.9';
$val = preg_replace('/[^\d.]/','',$val);
echo $val . "<br>";
$val = $val * 100;
echo $val . "<br>";
$val = intval($val);
echo $val;
Run Code Online (Sandbox Code Playgroud)
打印:
19.9
1990
1989
Run Code Online (Sandbox Code Playgroud)
为什么intval(1990)等于1989???
我正在教同事Python,我认为他应该做一些练习.
除了python挑战之外还有其他在线版本吗?我觉得python挑战是谜题,而不是练习.
我正在使用matplotlib作为图形应用程序.我正在尝试创建一个字符串作为X值的图表.但是,using plot函数需要X的数值.
如何使用字符串X值?
到目前为止,我只通过发送.apk文件分发了一些应用程序.我想知道Android Market如何阻止用户向其他人分发付费应用程序.
给定一个整数数组,其中一些数字重复1次,一些数字重复2次,只有一个数字重复3次,你如何找到重复3次的数字.不允许使用哈希.算法的复杂度应为O(n)
我正在编写一个程序,它允许加载特定的托管.DLL文件并使用它.由于我希望能够卸载.DLL文件,我正在创建两个AppDomain - 一个用于app本身,另一个用于当前加载的.DLL.
由于加载的.DLL中的大多数对象都没有很好地序列化,我正在创建一个MarshalByRefObject包装类,它将对象本身保留在自己的AppDomain中,并将一些反射函数暴露给主应用程序AppDomain.
但是,当我尝试在远程对象上调用一个方法时,我遇到了异常:
权限被拒绝:无法远程调用非公共或静态方法.
这很奇怪,因为我根本没有使用任何非公共或静态方法.从本质上讲,我所拥有的是:
class RemoteObjectWrapper: MarshalByRefObject
{
private Type SourceType;
private object Source;
public RemoteObjectWrapper(object source)
{
if (source == null)
throw new ArgumentNullException("source");
this.Source = source;
this.SourceType = source.GetType();
}
public T WrapValue<T>(object value)
{
if ( value == null )
return default(T);
var TType = typeof(T);
if (TType == typeof(RemoteObjectWrapper))
value = new RemoteObjectWrapper(value);
return (T)value;
}
public T InvokeMethod<T>(string methodName, params object[] args)
{
return WrapValue<T>(SourceType.InvokeMember(methodName,
System.Reflection.BindingFlags.FlattenHierarchy | System.Reflection.BindingFlags.Instance |
System.Reflection.BindingFlags.InvokeMethod …Run Code Online (Sandbox Code Playgroud) 我希望能够在Clojure中使用常见的Lisp语法定义lambdas.例如:
(lambda (myarg)
(some-functions-that-refer-to myarg))
Run Code Online (Sandbox Code Playgroud)
这需要与以下相同:
#(some-functions-that-refer-to %)
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我知道我将永远只有一个arg,所以也许这简化了事情.(但它可以被称为任何东西 - "myarg"或其他什么.)
我怀疑一个可行的解决方案是"(defmacro lambda ......".如果是这样,我不确定最好的方法.如何干净地将arg名称翻译为%?以及如何最终得到正确的功能?
或者,是否有一个比编写我自己的宏更简单的解决方案,实际上重新实现了Clojure的...... lambda?
在Java中似乎有可能写出这样的东西:
private enum TrafficLight {
RED,
GREEN;
public String toString() {
return //what should I return here if I want to return
//"abc" when red and "def" when green?
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我想知道当枚举值为红色时是否可以返回toString方法"abc",当它为绿色时返回"def".此外,是否可以在C#中执行此操作,您可以在哪里执行此操作?:
private enum TrafficLight {
RED = 0,
GREEN = 15
...
}
Run Code Online (Sandbox Code Playgroud)
我试过这个但是它但是我遇到了编译器错误.
谢谢
除非p.School.SchoolName结果为null,否则下面的代码有效,在这种情况下,它会导致NullReferenceException.
if (ExistingUsers.Where(p => p.StudentID == item.StaffID &&
p.School.SchoolName == item.SchoolID).Count() > 0)
{
// Do stuff.
}
Run Code Online (Sandbox Code Playgroud)
ExistingUsers是一个用户列表:
public List<User> ExistingUsers;
Run Code Online (Sandbox Code Playgroud)
这是stacktrace的相关部分:
System.NullReferenceException:未将对象引用设置为对象的实例.
在System.Linq.Enumerable.WhereListIterator 1源码)
1.MoveNext()
at System.Linq.Enumerable.Count[TSource](IEnumerable
我应该如何处理这个where子句?
首先十分感谢.
c# ×2
php ×2
python ×2
.net ×1
algorithm ×1
android ×1
clojure ×1
distribution ×1
enums ×1
exception ×1
google-play ×1
java ×1
lambda ×1
linq ×1
linux ×1
macros ×1
matplotlib ×1
protection ×1
remoting ×1
symlink ×1